专栏首页从ORACLE起航,领略精彩的IT技术。MySQL主主同步环境出现1236错误

MySQL主主同步环境出现1236错误

环境: MySQL 5.7.25 主主架构 故障现象: 发现互相之间的同步均发生异常,两端均出现1236错误,在两个主节点上分别执行show slave status显示的关键信息如下:

Master1:

Slave_IO_Running: No
Slave_SQL_Running: Yes
Last_IO_Errno: 1236
Last_IO_Error: Got fatal error 1236 from master when reading data from binary log: 'A slave with the same server_uuid/server_id as this slave has connected to the master; the first event 'mybinlog.000002' at 284776285, the last event read from '/data/mysql/mybinlog.000007' at 769196837, the last byte read from '/data/mysql/mybinlog.000007' at 769196837.'

Master2:

Slave_IO_Running: No
Slave_SQL_Running: Yes
Last_IO_Errno: 1236
Last_IO_Error: Got fatal error 1236 from master when reading data from binary log: 'A slave with the same server_uuid/server_id as this slave has connected to the master; the first event 'mybinlog.000002' at 284777403, the last event read from '/data/mysql/mybinlog.000007' at 790522661, the last byte read from '/data/mysql/mybinlog.000007' at 790522661.'

可以看到我们经常关注的指标Slave_IO_Running值已经变为No,Last_IO_Errno是1236。

而具体报错信息中比较明显的一点是说A slave with the same server_uuid/server_id as this slave has connected to the master,可是这套主主同步的环境,server_id和server_uuid都是不一样的,怎么会说存在相同server_uuid或server_id的slave呢?很是奇怪。 最终结合报错时间点和客户沟通是否有变更,结果发现这套环境在虚拟化平台上,该时刻正好用户以这套主主同步的MySQL环境Master1、Master2分别克隆出两台虚拟主机New1、New2,而克隆中的New1就和Master1完全一样,且指向Master2;New2就和Master2完全一样,且指向Master1,也就导致了这个故障的发生。

知道原因后,与用户沟通,最终是将New1、New2的slave停止;重新启动Master1和Master2的slave进程,就恢复了正常的同步。 如果想修改server_uuid/server_id,这两个id对应配置文件分别为 auto.cnf 和 my.cnf。

[root@test01 mysql]# cat auto.cnf 
[auto]
server-uuid=08c887bf-98ab-11ea-b70c-080027c2997a
[root@test01 mysql]# grep server-id /etc/mysql/my.cnf 
#4)server-id = 1121 确保主从或主主各个节点不同,规则可考虑使用ip地址后两段,如192.168.1.121 server-id=1121
server-id = 1121

幸好本次克隆出来的机器网卡名称由eth2变成了eth3,在克隆出来的环境查看keepalived的日志是因网卡名称有误没有启动成功,不然都不晓得会不会因为vip冲突导致数据讹误,如果会,那就比较悲惨了。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Oracle 10g使用amdu抽取数据文件

    环境:OEL 5.7 + Oracle 10.2.0.5 RAC 需求:实验在Oracle 10g环境使用amdu抽取数据库文件

    Alfred Zhao
  • Oracle 11.2.0.4 DataGuard 环境打PSU,OJVM PSU补丁快速参考

    环境:RHEL6.5 + Oracle 11.2.0.4 DataGuard physical standby 主库和备库都是单节点。 需求:主备库同时应用...

    Alfred Zhao
  • Oracle 11g RAC 应用补丁简明版

    之前总结过《Oracle 11.2.0.4 RAC安装最新PSU补丁》, 这次整理为简明版,忽略一切输出的显示,引入一些官方的说明,增加OJVM PSU的补丁...

    Alfred Zhao
  • Linux设置开机启动

    1.整理机器上面运行的服务,编些成sh脚本,文件为:/home/rc/exec.sh

    三哥
  • MSMQ突破4M限制的方法

        在默认情况下msmq 3.0(windows xp ,windows 2003)最大单个消息(Message size)大小4M;(包括正文和全部指定属...

    阿新
  • 原 初学数模-MATLAB Quick S

    不高不富不帅的陈政_
  • Unity 任意区域截屏创建Sprite

    Unity截取全屏静帧的方法较为简单这里不作讨论,指定区域截图用到的最主要的方法就是读取屏幕像素:

    汐夜koshio
  • Kafka源码系列之kafka如何实现高性能读写的

    本文依然是以kafka 0.8.2.2的源码为例进行讲解。 一,kafka高性能的原因 Kafka吞吐量是大家公认的高,那么这是为什么呢?个人总结为以下三点: ...

    Spark学习技巧
  • 使用OpenCV实现哈哈镜效果

    有趣的镜子不是平面镜子,而是凸/凹反射表面的组合,它们会产生扭曲效果,当我们在这些镜子前面移动时,这些效果看起来很有趣。

    小白学视觉
  • KafkaConsumer RequestFuture异步流程控制

    在org.apache.kafka.clients.consumer.internals包内的RequestFuture类可用来定义异步流程,常用的addLis...

    平凡的学生族

扫码关注云+社区

领取腾讯云代金券