关于 Slave_IO_Running: NO 的错误其实有很多原因,
文章目录
- 1. 解决问题的思路
- 2. 异常信息
- 3. 问题定位:由于uuid相同,而导致触发此异常
- 4. 解决方案
- 5. 服务器背景
- 6. 具体解决方案
- 7. 重新启动mysql
- 8. 登录mysql,重启slave,再次验证
1. 解决问题的思路
1. 找到mysql配置的这个文件/etc/my.cnf
2. 在文件中找到mysql错误异常日志文件的路径,我配置的是log-error=/var/log/mysqld.log
3. 编辑/var/log/mysqld.log文件
4. 查看具体异常信息
2. 异常信息
[ERROR] Slave I/O for channel ‘’: Fatal error: The slave I
/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must
be different for replication to work. Error_code: 1593
3. 问题定位:由于uuid相同,而导致触发此异常
4. 解决方案
把uuid修改即可
5. 服务器背景
环境:Centos6.8 , 5.7.25 MySQL
首先我只安装了一台linux 又克隆了两台,一主三从 , 关键点就在于我是克隆的,才导致了报Slave_IO_Running: NO
原因:mysql 有个uuid , 然而uuid 是唯一标识的,所以我克隆过来的uuid是一样的,只需要修改一下uuid 就ok了,找到auto.cnf 文件修改uuid
6. 具体解决方案
查询命令找此auto.cnf修改uuid即可:
find / -iname "auto.cnf"vim /data/mysql/auto.cnf# 原内容
[auto]
server-uuid=64cbb3d1-e150-11eb-81a2-000c2972fe1f# 调整后内容,自定义即可,把最后一位f替换为a
[auto]
server-uuid=64cbb3d1-e150-11eb-81a2-000c2972fe1a
操作记录:
[root@node2 ~]# find / -iname "auto.cnf"
/data/mysql/auto.cnf
[root@node2 ~]#
其实这个文件就在mysql的data目录中/app/mysql-5.7.25/data
,这是我的文件位置
启mysql服务器,再查看mysql从节点的状态,恢复正常
7. 重新启动mysql
# centos7.x
systemctl restart mysql# centos6.x
service myqld restart
8. 登录mysql,重启slave,再次验证
# 登录mysqlmysql -uroot -p
Enter password:123456 # 停止链路
stop slave;# 主从数据库名映射change replication filter replicate_rewrite_db=((imooc_db,order_db));# 启动链路
start slave;# 查看链路
show slave status \G