部署环境 CentOS8 、 Mysql8
问题说明
mysql> show slave status\G;
针对slave_io_running:no问题,在网上找了很多解决办法, 要么说master权限问题,要么说my.cnf有问题,要么说网络结构有问题,可能是由于配置方式的问题,我是没有能够解决(可能自己low了)。查了很多资料,终于发现了问题,是自己对配置了解太肤浅了,在此记录下,防止发生类似错误。
解决问题排除;
1.同步配置问题,master_log_file和master_log_pos不对应
分别在两台服务器输入指令查看
排查Master2
mysql> show master status; #Master1中输入
mysql> show master status\G; #Master2中输入, 查看Master2中的Master_Log_File和Read_Master_Log_File_Pos对照Master1中的File和Pos是否对应?
如果不对应则进行修改
mysql> change master to master_host='192.168.1.8',master_user='replicate',master_password='123456',
master_log_file='binlog.000013',master_log_pos=155;
排查Master1(同上,IP交换即可)
2.排查Server_id是否生效
首要排查Master2的server_id是否生效
mysql> show variables like 'server_id';
查看是否与Master2中的my.cnf中的server_id是否一致,还有就是不能与Master1中的server_id一样
如果需要修改设置
mysql> set global server_id=2; #此处的数值和my.cnf里面设置的一样
设置完成后也可以重新查看下。
分别重启Master1和Master2的mysql服务,重新显示下信息
mysql> systemctl restart mysqld #重启Mysql服务
mysql> mysql -u root -p #登录
mysql> show slave status\G;
完成。