关于 Slave_IO_Running: NO 的错误其实有很多原因,

文章目录

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

mysql主从复制之异常解决--- Slave_IO_Running: NO_centos

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
8. 登录mysql,重启slave,再次验证
# 登录mysql
mysql -uroot -p
Enter password:123456

# 停止链路
stop slave;

# 主从数据库名映射
change replication filter replicate_rewrite_db=((imooc_db,order_db));

# 启动链路
start slave;

mysql主从复制之异常解决--- Slave_IO_Running: NO_mysql_02