Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs;

看了这位大神的博客:https://blog.csdn.net/sunbocong/article/details/81634296解决的。

在centos7上做5.7版本的Mysql主从复制时,从机用的是直接Linux一台服务器的克隆,然后进行主从复制,报了如下的错

             

解决

过程

      1。退出mysql,分别在两台centos服务器上查看是否mysql的server_uuid是否相同【因为是克隆,肯定相同】

[admin@localhost ~]$ su - root             #切换到root账户和环境【输入root账户密码】
[root@localhost ~]# vi /var/lib/mysql/auto.cnf         #查看mysql的server uuid

 

2.关闭现在从库的Mysql,删除掉auto.cnf文件,开启从库Mysql


[root@localhost ~]# systemctl stop mysqld         #关闭mysql

[root@localhost mysql]# rm -rf /var/lib/mysql/auto.cnf        #删除从库auto.cnf文件

[root@localhost ~]# systemctl start mysqld                 #启动从库mysqld服务

3.重新进行主从复制,显示结果

           

     4.原理 

           mysql 在5.6版本之后,启动后会自动生成一个auto.cnf文件,因为是克隆,所以两个centos的mysql上的auto.cnf文件也是一样的,所以,出现了这种错误

           下边是我把大神的英文解释用百度翻译翻成了中文的

            从MySQL 5.6开始,除了–server id之外,服务器还生成一个真正的UUID

             由用户提供。它作为全局只读变量服务器_uuid(全只读变量)提供

             启动时,MySQL服务器自动获取一个UUID,如下所示:

             1尝试读取并使用文件data_dir中写入的UUID/自动.cnf(其中data\u dir为

             服务器的数据目录);成功时退出。

                2否则,生成一个新的UUID并将其保存到该文件中,如有必要,创建该文件。

                 这个自动.cnf文件的格式与我的.cnf或者我的.ini文件夹。在MySQL5.6中,

                 自动.cnf只有一个[auto]部分包含一个服务器_uuid[1992]设置和

                价值观;

                 重要的

                这个自动.cnf文件是自动生成的;您不应尝试写入

             或修改此文件

                  同样从MySQL 5.6开始,当使用MySQL复制时,主服务器和从服务器都知道一个

                 别人的UUID。从机的UUID值可以在SHOW slave HOSTS的输出中看到。一次

                 启动从机已执行(但之前未执行),主机的UUID值在上可用

                 slave在输出显示slave状态。

                 在MySQL5.6.5及更高版本中,服务器的服务器_uid也用于GTID中,用于发起事务

                     在那个服务器上。有关更多信息,请参阅第16.1.3节“使用全局事务进行复制”

            ————————————————

                “阿拉丁太阳”英文版

 原文链接:https://blog.csdn.net/sunbocong/article/details/81634296

              

 

 

©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页