• 欢迎访问DBA的辛酸事儿,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站
  • 欢迎大家关注博主公众号:DBA的辛酸事儿
  • 博文中若有错误的地方,请大家指正,大家的指正是我前进的动力

开启GTID主从同步出现1236错误问题

MySQL SEian.G 5年前 (2019-03-07) 2982次浏览 已收录 0个评论

在前面的几篇文章中,介绍了MYSQL主从复制相关的内容,包括主从环境搭建,具体文章可参考:

使用传统方式搭建MySQL 5.7 异步复制环境

基于GTID方式搭建MySQL 5.7 主从复制环境

最近遇到mysql开启gtid做复制时,主从同步断开,从库出现1236错误,导致同步无法进行,本文就这问题记录下处理步骤

Got fatal error 1236 from master when reading data from binary log: ‘The slave is connecting using CHANGE MASTER TO MASTER_AUTO_POSITION = 1, but the master has purged binary logs containing GTIDs that the slave requires.’
开启GTID主从同步出现1236错误问题

一般两种情况会出现以上现象

1.在主库上手动执行清除二进制日志文件

2.主库重启,重新同步时

解决方法:

1、在主库上执行以下命令,查询gtid_purged,记录下改值

mysql> show global variables like '%gtid%'\G

开启GTID主从同步出现1236错误问题

2、在从库上执行以下命令,查询已经执行过的gtid即gtid_executed,记录下主库的值,本机的不需要
开启GTID主从同步出现1236错误问题

3、在从库上执行以下命令停止同步线程及重置同步相关信息

mysql> stop slave;
mysql> reset slave;
mysql> reset master;

开启GTID主从同步出现1236错误问题

4、在从库上设置gtid_purged

该值有两个来源,一是在主库上查询的gtid_purged,二是在从库上查询的已经执行过的gtid_executed值(本机的就不需要,主库上gtid)

注意:一定记得加上从库上已经执行过的gtid,若只设置了主库上的gtid_purged,此时从库会重新拉取主库上所有的二进制日志文件,同步过程会出现其他错误,导致同步无法进行

mysql> set @@global.gtid_purged='dc299ff4-79e5-11e8-8d10-525400cf9369:1-2,dc299ff4-79e5-11e8-8d10-525400cf9369:1-64566';
Query OK, 0 rows affected (0.01 sec)

注意:设置gtid_purged值时,gtid_executed值必须为空否则报错,该值清空的方法就是reset master命令

执行完,再次查看相关信息

5、重新开启同步

mysql> change master to 
master_host='10.105.xx.xx',
master_user='repl',
master_password='XXXXXXX',
master_port=3306,
master_auto_position=1;
mysql> start slave;

开启GTID主从同步出现1236错误问题


如果您觉得本站对你有帮助,那么可以收藏和推荐本站,帮助本站更好地发展,在此谢过各位网友的支持。
转载请注明原文链接:开启GTID主从同步出现1236错误问题
喜欢 (5)
SEian.G
关于作者:
用心去记录工作,用心去感受生活,用心去学着成长;座右铭:苦练七十二变,笑对八十一难
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址