MySQL主从报错Last_IO_Errno: 1593

本文讲述了在MySQL主从复制中遇到的1593错误,原因在于server_id相同导致复制失败。作者详细解释了错误含义,指出配置文件中的server_id超出范围被自动调整,提供了修改配置、重启服务以及server_id与server_uuid区别的解决方案。
摘要由CSDN通过智能技术生成

主从报错1593

搭建mysql主从,
start slave ;后查看show slave status \G 发现报错

Last_IO_Errno: 1593
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-id option must be used on slave but this does not always make sense; please check the manual before using it).

分析报错

这个报错的意思是server_id相同,无法构建主从

查看主从两个库的server_id发现都是4294967295

(root@localhost) [(none)] SHOW VARIABLES LIKE 'server_id';
+---------------+------------+
| Variable_name | Value      |
+---------------+------------+
| server_id     | 4294967295 |
+---------------+------------+
1 row in set (0.00 sec)

查看两个库的配置文件
主库 server_id=80082088203306
从库 server_id=80082088203307

发现配置文件的参数设置并没有生效
翻看日志记录发现初始化实例的时候有一个告警

 [Warning] option 'server_id': unsigned value 80082088203307 adjusted to 4294967295

这个警告信息表示,MySQL配置文件中的server_id选项的值超出了无符号整数的范围,因此被调整为4294967295。为了解决这个问题,你需要在配置文件中设置一个有效的server_id值,并重新启动MySQL服务。

注:在MySQL中,整数类型用于存储整数值,其中INT类型是有符号的,其范围是从-2147483648到2147483647。然而,当整数类型被定义为无符号(使用UNSIGNED属性)时,它的范围会加倍,因为无符号整数不能表示负数,所以其最小值是0,最大值则是4294967295。

如何解决

将从库配置文件server_id修改后,重启数据库。

通过change master 和start slave 搭建主从,解决报错
在这里插入图片描述

补充知识点

server_idserver_uuid有什么区别

server_idserver_uuid都是MySQL中用于标识服务器实例的独特属性,但它们在作用域、用途和格式上存在区别。具体分析如下:

  1. 作用域server_id是在MySQL配置中设置的全局变量,它在同一主从复制拓扑中必须是唯一的。而server_uuid是自动生成的,每个MySQL实例都有一个独特的server_uuid,通常作为日志事件的标识符。
  2. 用途server_id主要用于控制数据复制过程中的一致性和避免冲突,确保每个从服务器能够正确识别和应用主服务器上的二进制日志事件。server_uuid则用作日志文件中事件的唯一标识,帮助跟踪和管理事务日志。
  3. 格式server_id是一个整数,可以在MySQL配置文件中指定或通过命令行参数设置。server_uuid是一个UUID(通用唯一识别码),由MySQL自动生成,通常是一串32位的十六进制数字。

总结来说,server_idserver_uuid虽然都用于标识MySQL服务器实例,但它们的使用场景和格式有所不同。server_id是为了区分不同的服务器实例以维护复制的一致性,而server_uuid则提供了一种机制来唯一标识每个服务器产生的日志事件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值