Mysql主从同步时Slave_SQL_Running状态为Yes , 但是Slave_IO_Running状态为Connecting以及NO的情况故障排除

感兴趣的话大家可以关注一下公众号 : 猿人刘先生 , 欢迎大家一起学习 , 一起进步 , 一起来交流吧!

1. 环境说明

主机IP : 192.168.154.146
从机1IP : 192.168.154.147
从机2IP : 192.168.154.148

2.故障记录

当使用Navicat工具打开这三个数据库时 , 发现主库和从库的数据不同
Mysql主从同步时Slave_SQL_Running状态为Yes , 但是Slave_IO_Running状态为Connecting以及NO的情况故障排除_第1张图片

3.排查过程-(Slave_IO_Running状态为Connecting)

3.1 网络是否互通

互ping三台机器 , 看机器之间相互能否ping通
Mysql主从同步时Slave_SQL_Running状态为Yes , 但是Slave_IO_Running状态为Connecting以及NO的情况故障排除_第2张图片
Mysql主从同步时Slave_SQL_Running状态为Yes , 但是Slave_IO_Running状态为Connecting以及NO的情况故障排除_第3张图片
在这里插入图片描述
这里发现三台机器都能够相互ping通 , 所以排除网络原因

3.2 检查my.cnf文件

192.168.154.146
Mysql主从同步时Slave_SQL_Running状态为Yes , 但是Slave_IO_Running状态为Connecting以及NO的情况故障排除_第4张图片
192.168.154.147
Mysql主从同步时Slave_SQL_Running状态为Yes , 但是Slave_IO_Running状态为Connecting以及NO的情况故障排除_第5张图片
192.168.154.148
Mysql主从同步时Slave_SQL_Running状态为Yes , 但是Slave_IO_Running状态为Connecting以及NO的情况故障排除_第6张图片
可以看到配置文件也是没有错误的 , 所以排除这种可能性

3.3 防火墙是否关闭

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
排除防火墙未关闭的原因

3.4 主服务器mysql权限

在这里插入图片描述
主服务器已设置% , 所以排除这种情况

3.5 file文件名、pos偏移量不对

Mysql主从同步时Slave_SQL_Running状态为Yes , 但是Slave_IO_Running状态为Connecting以及NO的情况故障排除_第7张图片

Mysql主从同步时Slave_SQL_Running状态为Yes , 但是Slave_IO_Running状态为Connecting以及NO的情况故障排除_第8张图片
Mysql主从同步时Slave_SQL_Running状态为Yes , 但是Slave_IO_Running状态为Connecting以及NO的情况故障排除_第9张图片
可以看到 , 问题就出现在了这里 , 之前可能重启过一次服务 , 所以pos也随之变换了

3.5.1 解决方法
(1).关闭slave线程
stop slave;
(2).修改pos
change master to master_host='192.168.154.146', 
master_user='root', 
master_password='root', 
master_log_file='master-bin.000064', 
master_log_pos=3032;
(3).启动slave线程
start slave;

这个时候查询slave状态 , 神奇的发现不是Connecting , 变为No了 , 这个时候我们开启下一次的排查

4. 排查过程-(Slave_IO_Running状态为No)

可看到这儿有错误log
Mysql主从同步时Slave_SQL_Running状态为Yes , 但是Slave_IO_Running状态为Connecting以及NO的情况故障排除_第10张图片

4.1 查看server_uuid是否相同

可以进入目录 : /var/lib/mysql 查看 auto.cnf , 也可以使用如下命令

show variables like '%server_uuid%';

查询之后发现 所有UUID都相同

4.2 删除所有的auto.cnf

rm -rf /var/lib/mysql/auto.cnf

4.3 重启服务

在这里插入图片描述
这个时候查看从库状态 , 发现都为YES , 自此问题解决

你可能感兴趣的:(java,mysql,mysql,数据库,服务器)