#还可能会出现
Can 't connect to local MySQL server through socket '/tmp/mysql.sock '(2) ";
这边提供另一个解决方案: 解决方案链接
重启服务:
[root@VM-0-10-centos bin]# /usr/local/mysql/mysql-5.7.24-linux-glibc2.12-x86_64/support-files/mysql.server start
Starting MySQL SUCCESS!
#测试下命令行登录
[root@VM-0-10-centos bin]# mysql -u root -p
Enter password:
#到这一步直接回车,不比输入密码,因为刚才已经跳过密码验证了
MySQL [(none)]> exit;
Bye
[root@VM-0-10-centos bin]#
第五步添加软连接,方便重启
ln -s /usr/local/mysql/mysql-5.7.24-linux-glibc2.12-x86_64/bin/mysql /usr/bin/mysql
ln -s /usr/local/mysql/mysql-5.7.24-linux-glibc2.12-x86_64/bin/mysql /usr/bin/mysql
#添加完软连接就可以在任意目录下愉快地重启了
[root@VM-0-10-centos bin]# service mysql restart
Shutting down MySQL… SUCCESS!
Starting MySQL… SUCCESS!
第七步:登录mysql,修改密码
#编辑my.cnf
vim /etc/my.cnf
#注释掉
#skip-grant-tables
#重启mysql
service mysql restart
mysql -u root -p
mysql> use mysql;#使用数据库
mysql> set password for root@localhost = password(‘mysql123’);#修改数据库密码为mysql123
mysql> update user set user.Host=‘%’ where user.User=‘root’;#开放远程连接
mysql>flush privileges;
第七步:设置开机启动
1、将服务文件拷贝到init.d下,并重命名为mysql
[root@localhost /]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
2、赋予可执行权限
[root@localhost /]# chmod +x /etc/init.d/mysqld
3、添加服务
[root@localhost /]# chkconfig --add mysqld
验证navicat远程连接
2、Slave库搭建(参考主库搭建 ↑ )
=====================
3、绑定主从关系(这一步主要是修改一些配置文件)
========================
(1)开启master的二进制日志
①配置my.cnf配置文件
vi /etc/my.cnf
②添加二进制日志配置,开启二进制(mysql-bin只是二进制日志名称,可以自行指定)
server-id=1 #id是一定要指定的,是唯一的标识(master数据库要比slave数据库的id优先级高才行)
log-bin=mysql-bin #开启二进制日志
③授权 :登录数据库,需要给slave数据库配置一个用户/密码的权限
(允许某个ip地址的某个用户以某个密码对当前数据库的所有库和表进行复制操作配置之后需要刷新权限)
mysql> grant replication slave on . to ‘root’@‘slave数据库ip’ identified by ‘密码’;
mysql> flush privileges;
④修改完重启服务,查询master状态
[root@VM_0_10_centos ~]# service mysqld restart
登录数据库,查询master状态,如下图所示:
mysql> show master status;
file:是日志文件名称
position:日志所在位置
(2) 开启slave的二进制日志
①修改my.cnf
vi /etc/my.cnf
添加slave二进制日志配置,开启二进制(mysql-bin只是二进制日志名称,可以自行指定)
server-id=2
log-bin=mysql-bin
注意:每一台指定唯一的一个server-id标识
修改完配置服务需重启服务
[root@VM_0_16_centos ~]# service mysqld restart
②配置slave指向master,登录数据库
mysql> change master to master_host=‘10.0.33.18’,master_port=3306,master_user=‘root’,master_password=‘mysql123’,master_log_file=‘mysql-bin.000002’,master_log_pos=154;
mysql>flush privileges;
mysql>start slave;
mysql> show slave status\G;
*************************** 1. row ***************************
Slave_IO_State:
Master_Host: 10.0.3x.xx
Master_User: root
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000002
Read_Master_Log_Pos: 154
Relay_Log_File: localhost-relay-bin.000002
Relay_Log_Pos: 4
Relay_Master_Log_File: mysql-bin.000002
Slave_IO_Running: YES
Slave_SQL_Running: YES
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 154
Relay_Log_Space: 154
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: NULL
Master_SSL_Verify_Server_Cert: No
Last_IO_Errno: 2003
Last_IO_Error: error connecting to master ‘root@10.0.33.18:3306’ - retry-time: 60 retries: 9
Last_SQL_Errno: 0
Last_SQL_Error:
Replicate_Ignore_Server_Ids:
Master_Server_Id: 0
Master_UUID:
Master_Info_File: /usr/local/mysql/data/master.info
SQL_Delay: 0
SQL_Remaining_Delay: NULL
Slave_SQL_Running_State:
Master_Retry_Count: 86400
Master_Bind:
Last_IO_Error_Timestamp: 210419 15:17:11
Last_SQL_Error_Timestamp:
Master_SSL_Crl:
Master_SSL_Crlpath:
Retrieved_Gtid_Set:
Executed_Gtid_Set:
Auto_Position: 0
Replicate_Rewrite_DB:
Channel_Name:
Master_TLS_Version:
1 row in set (0.00 sec)
主要看这俩进程是否YES:
OK,主从复制配置文件到此修改完成。
提示:若主从挂调,可以优先在这里查看报错信息。
4、测试主从复制效果
==========
面试资料整理汇总
这些面试题是我朋友进阿里前狂刷七遍以上的面试资料,由于面试文档很多,内容更多,没有办法一一为大家展示出来,所以只好为大家节选出来了一部分供大家参考。
面试的本质不是考试,而是告诉面试官你会做什么,所以,这些面试资料中提到的技术也是要学会的,不然稍微改动一下你就凉凉了
在这里祝大家能够拿到心仪的offer!
4、测试主从复制效果
==========
面试资料整理汇总
[外链图片转存中…(img-r5YZvB8Y-1714565199868)]
[外链图片转存中…(img-BAQkQ54k-1714565199869)]
这些面试题是我朋友进阿里前狂刷七遍以上的面试资料,由于面试文档很多,内容更多,没有办法一一为大家展示出来,所以只好为大家节选出来了一部分供大家参考。
面试的本质不是考试,而是告诉面试官你会做什么,所以,这些面试资料中提到的技术也是要学会的,不然稍微改动一下你就凉凉了
在这里祝大家能够拿到心仪的offer!