MySQL主从复制报错slave have equal MySQL server UUIDs

最近在部署MySQL主从复制架构的时候,碰到了”Last_IO_Error: 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.” 这个错误提示。即主从架构中使用了相同的UUID。检查server_id系统变量,已经是不同的设置,那原因是?接下来为具体描述。

1、错误消息

mysql> show slave staus;
Last_IO_Error: 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.

2、查看主从的server_id变量

master_mysql> show variables like 'server_id';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| server_id     | 33    |
+---------------+-------+
slave_mysql> show variables like 'server_id';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| server_id     | 11    |
+---------------+-------+
-- 从上面的情形可知,主从mysql已经使用了不同的server_id

3、解决故障

###查看auto.cnf文件
[root@dbsrv1 ~] cat /data/mysqldata/auto.cnf  ### 主上的uuid
[auto]
server-uuid=62ee10aa-b1f7-11e4-90ae-080027615026
[root@dbsrv2 ~]# more /data/mysqldata/auto.cnf ###从上的uuid,果然出现了重复,原因是克隆了虚拟机,只改server_id不行
[auto]
server-uuid=62ee10aa-b1f7-11e4-90ae-080027615026
[root@dbsrv2 ~]# mv /data/mysqldata/auto.cnf  /data/mysqldata/auto.cnf.bk  ###重命名该文件
[root@dbsrv2 ~]# service mysql restart          ###重启mysql
Shutting down MySQL.[  OK  ]
Starting MySQL.[  OK  ]
[root@dbsrv2 ~]# more /data/mysqldata/auto.cnf  ###重启后自动生成新的auto.cnf文件,即新的UUID
[auto]
server-uuid=6ac0fdae-b5d7-11e4-a9f3-0800278ce5c9
###再次查看slave的状态已经正常
[root@dbsrv1 ~]# mysql -uroot -pxxx -e "show slave status\G"|grep Running
Warning: Using a password on the command line interface can be insecure.
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
      Slave_SQL_Running_State: Slave has read all relay log; waiting for the slave I/O thread to update it
###主库端查看自身的uuid

master_mysql> show variables like 'server_uuid';
+---------------+--------------------------------------+
| Variable_name | Value                                |
+---------------+--------------------------------------+
| server_uuid   | 62ee10aa-b1f7-11e4-90ae-080027615026 |
+---------------+--------------------------------------+
1 row in set (0.00 sec)
###主库端查看从库的uuid
master_mysql> show slave hosts;
+-----------+------+------+-----------+--------------------------------------+
| Server_id | Host | Port | Master_id | Slave_UUID                           |
+-----------+------+------+-----------+--------------------------------------+
|        33 |      | 3306 |        11 | 62ee10aa-b1f7-11e4-90ae-080027615030 |
|        22 |      | 3306 |        11 | 6ac0fdae-b5d7-11e4-a9f3-0800278ce5c9 |
+-----------+------+------+-----------+--------------------------------------+
### Author : Leshami

下面是英文译过来的

4,延生参考

一,有关SERVER_ID的描述

服务器的ID,REPLI使用
阳离子给每个主机和从机的唯一标识。这个变量被设置
由-server-id选项。对于每个服务器参与复制的,你应该选择一个
在范围从1到232- 1的正整数(2的32次方减1)作为该服务器的标识。

B,有关server_uuid的描述

从MySQL 5.6开始,服务器除了-server-ID生成一个真正的UUID
由用户提供。这是可作为全球,只读变量server_uuid(全局只读变量)

启动时,如下MySQL服务器会自动获得一个UUID:
一个)。尝试阅读和使用写在文件DATA_DIR / auto.cnf的UUID(其中DATA_DIR是
在服务器的数据目录);出口上的成功。
b)中。否则,生成一个新的UUID并将其保存到这个文件,如果有必要创建文件。
该auto.cnf文件具有类似于用于的my.cnf或my.ini文件的文件的格式。在MySQL 5.6,
auto.cnf只有一个[汽车]包含一个server_uuid [1992]设置部分,
值;

重要

该auto.cnf文件是自动生成的;你不应该试图写
或修改此文件

还与MySQL 5.6开始,使用MySQL的复制,主人和奴隶的时候知道一
另一个是的UUID。一个奴隶的UUID的值可以在SHOW SLAVE HOSTS的输出中可以看出。一旦
START SLAVE已经执行(而不是之前),大师的UUID的值可在
奴隶在SHOW SLAVE STATUS的输出。

在MySQL 5.6.5或更高版本,服务器的server_uuid也在GTIDs用于发起交易
在该服务器上。欲了解更多信息,请参见16.1.3,“与全球事务复制

时间: 2024-12-31 13:07:31

MySQL主从复制报错slave have equal MySQL server UUIDs的相关文章

master and slave have equal MySQL server ids

Fatal error: The slave I/O thread stops because master and slave have equal MySQL server ids   蚊子今天下午搭了一主三从的mysql复制,结果所有服务器都配置好后,发现从上报如下的错误 复制代码 代码如下: Last_IO_Error: Fatal error: The slave I/O thread stops because master and slave have equal MySQL se

slave have equal MySQL server UUIDs

    最近在部署MySQL主从复制架构的时候,碰到了"Last_IO_Error: 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." 这个错误提示.即主从架构中使用了相同的UUID.检查server_id系统变量,已经是不同的设置,

master and slave have equal MySQL server ids_Mysql

蚊子今天下午搭了一主三从的mysql复制,结果所有服务器都配置好后,发现从上报如下的错误 复制代码 代码如下: Last_IO_Error: Fatal error: The slave I/O thread stops because master and slave have equal MySQL server ids; these ids must be different for replication to work (or the --replicate-same-server-i

master and slave have equal MySQL server UUIDs 解决方法

使用rsync配置了大量mysql,省去了大量编译和配置的时间,随逐个修改master和slave服务器的my.cnf,后,发现数据不能同步   使用rsync配置了大量mysql,省去了大量编译和配置的时间,随逐个修改master和slave服务器的my.cnf,后,发现数据不能同步, 在slave服务器show slave status: Fatal error: The slave I/O thread stops because master and slave have equal M

mysql起动报错The server quit without updating PID file /usr/local/mysql/data/

mysql起动报错The server quit without updating PID file (/usr/local/mysql/data/ 查看错误日志显示: mysqld_safe mysqld from pid file /usr/local/mysql/data/mysql.pid ended 肯定是配置文件问题: 新安装的测试机  hostname server01  centos 6.5 环境   mysql 5.6.12 单机 64位 二进制包安装 my.cnf 里面只有一

select-jsp 连接 mysql 查询 报错500

问题描述 jsp 连接 mysql 查询 报错500 源代码: <%@ page contentType="text/html; charset=GB2312"%> <%@ page import="java.util.*,java.sql.*"%> <% request.setCharacterEncoding("GB2312"); //链接数据库程序 Class.forName("org.gjt.mm.

java储存mysql乱码报错

问题描述 java储存mysql乱码报错 我现在是都文本来储存数据库, 做的是记录搜索内容的东西, 可是如果搜索内容本身中就有乱码, 要如何解决 比如这个图片,那个像L的东西, String line = new String(br.readLine().getBytes(), "ISO8859_1" ) 转utf-8 也没用 报这样的错 java.sql.SQLException: Incorrect string value: 'xF0x9Fx91x8CxE8xBF...' for

sweeter-导入JavaWeb项目时,MySQL数据库报错

问题描述 导入JavaWeb项目时,MySQL数据库报错 五月 23 2014 10:19:38 上午 org.apache.catalina.core.AprLifecycleListener init信息: Loaded APR based Apache Tomcat Native library 1.1.29 using APR version 1.4.8.五月 23 2014 10:19:39 上午 org.apache.catalina.core.AprLifecycleListene

.net执行页面提交数据到mysql数据库报错,求指导

问题描述 .net执行页面提交数据到mysql数据库报错,求指导 * 别人那里是不报错的,就我本地会报错,而且我的 代码也全是svn上下载下来的. 解决方案 mysql.data.dll这个直接考一遍,重新引用 解决方案二: 直接考一遍再重新引用没有用的