MySQL 5.7基于GTID复制的常见问题和修复步骤(一)
【问题一】
复制slave报错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.
需要注意有多种场景都会导致1236错误,error code都是1236,但后面的错误描述会不同
【产生原因】
这个错误发生在slave的IO线程从master拉取日志时,发现gtid_next在master的binlog.index中第一个文件中不存在。
通常出现在新搭slave , 忘记关闭主库的binlog备份。
或者slave由于某些原因停止了一段时间,而这段时间master上的binlog被purge掉了,导致从库获取不到对应的binlog文件。
【保证数据一致性的修复步骤】
1、到对应的master上查询当前gtid_purged值,show global variables like '%gtid%'; 并记录下来
Variable_name: gtid_purged
Value: 698da8d5-a743-11e7-a2ab-384c4fb16868:1-245780670,
82634550-10fb-11e6-81fc-384c4fb16868:1-1714684630,
cc85f79f-10ff-11e6-8202-384c4fb16888:1-6127989,
fd1bea9b-5194-11e7-bad5-384c4fb16888:1-1579848406
2、在报错的slave上执行show global variables like '%gtid%';并将gtid_executed记录下来
Variable_name: gtid_executed
Value: 698da8d5-a743-11e7-a2ab-384c4fb16868:1-242405257,
82634550-10fb-11e6-81fc-384c4fb16868:1-1714684630,
cc85f79f-10ff-11e6-8202-384c4fb16888:1-6127989,
fd1bea9b-5194-11e7-bad5-384c4fb16888:1-1579848406
3、到binlog备份目录下找被pugre掉的包含 698da8d5-a743-11e7-a2ab-384c4fb16868:1-242405257的GTID的binlog文件,并从备份目录拷贝到当前slave服务器上的目录
4、在当前slave上执行还原脚本,直到还原到大于等于gtid_purged的位置,多还原没有问题,因为已经执行过的GTID,在salve的SQL线程重做时会跳过
mysqlbinlog -vvv /data/binlog/bin.file |mysql -u -p
如果出现报错,可以尝试导出SQL文件source执行
mysqlbinlog -vvv /data/binlog/bin.file > 1059.sql
source 1059.sql
5、start slave;
【不考虑数据一致性的修复步骤】
在某些特殊场景下,比如日志文件缺失,需要快速恢复,或是测试环境可以丢失一部分数据
1、master上执行show global variables like '%gtid_executed';并记录
2、slave上一次依次执行,这种方法会丢失掉上次salve报错时 Executed_Gtid_Set的位置86c67cfe-8b18-11e8-9e4c-246e965710f8:1-16到新位置86c67cfe-8b18-11e8-9e4c-246e965710f8:1-23之间的,16-23集合的事务
stop slave;
reset master;
set global gtid_purged='86c67cfe-8b18-11e8-9e4c-246e965710f8:1-23';
start slave;
上述方法修复后,都建议用pt-table-checksum工具,检验主从数据的一致性。
MySQL 5.7基于GTID复制的常见问题和修复步骤(一)的更多相关文章
- MySQL 5.7基于GTID复制的常见问题和修复步骤(二)
[问题二] 有一个集群(MySQL5.7.23)切换后复制slave报1236,其实是不小心在slave上执行了事务导致 Got fatal error 1236 from master when r ...
- 深入MySQL复制(二):基于GTID复制
相比传统的MySQL复制,gtid复制无论是配置还是维护都要轻松的多.本文对gtid复制稍作介绍. MySQL基于GTID复制官方手册:https://dev.mysql.com/doc/refman ...
- Mysql 5.7 基于组复制(MySQL Group Replication) - 运维小结
之前介绍了Mysq主从同步的异步复制(默认模式).半同步复制.基于GTID复制.基于组提交和并行复制 (解决同步延迟),下面简单说下Mysql基于组复制(MySQL Group Replication ...
- 基于gtid复制主要操作记录
基于gtid复制主要操作记录 一.安装系统依赖包 在主从上都要安装该依赖包. yum -y install perl-DBI yum -y install perl-DBD-MySQL yum -y ...
- mysql 5.6在gtid复制模式下复制错误,如何跳过??
mysql 5.6在gtid复制模式下复制错误,如何跳过?? http://www.xuchanggang.cn/archives/918.html
- mysql之 mysql 5.6不停机主从搭建(一主一从基于GTID复制)
环境说明:版本 version 5.6.25-log 主库ip: 10.219.24.25从库ip:10.219.24.22os 版本: centos 6.7已安装热备软件:xtrabackup 防火 ...
- Mysql基于GTID复制模式-运维小结 (完整篇)
先来看mysql5.6主从同步操作时遇到的一个报错:mysql> change master to master_host='192.168.10.59',master_user='repli' ...
- 详解MySQL主从复制实战 - 基于GTID的复制
基于GTID的复制 简介 基于GTID的复制是MySQL 5.6后新增的复制方式. GTID (global transaction identifier) 即全局事务ID, 保证了在每个在主库上提交 ...
- MySQL 5.7 基于GTID主从复制+并行复制+半同步复制
环境准备 IP HOSTNAME SERVICE SYSTEM 192.168.131.129 mysql-master1 mysql CentOS7.6 192.168.131.130 mysql- ...
随机推荐
- Java基础-Java中的并法库之重入读写锁(ReentrantReadWriteLock)
Java基础-Java中的并法库之重入读写锁(ReentrantReadWriteLock) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在学习Java的之前,你可能已经听说过读 ...
- Linux quotacheck失败
我找了多少个帖子才发现解决这个问题的啊...最终还是靠FQ找的这位大佬的文章 http://www.2daygeek.com/quotacheck-error/# 当我在执行quotacheck - ...
- redis支持的数据结构
redis数据库里面的每个键值对都是由对象组成的. 其中数据库键的值总是字符串对象. 数据库的值则可以是字符串对象(String),列表对象(list),哈希对象(Hash),集合对象(Set),有序 ...
- WebSockets Tutorial(教程一)WebSockets简介
一.WebSockets简介 以字面意思来说,握手可以被定义为两个人抓住和握手右手,象征着问候,祝贺,同意或告别.在计算机科学中,握手是确保服务器与客户端同步的过程.握手是Web Socket协议的基 ...
- Spring RedisTemplate操作-xml配置(1)
网上没能找到全的spring redistemplate操作例子,故特意化了点时间做了接口调用练习,基本包含了所有redistemplate方法. 该操作例子是个系列,该片为spring xml配置, ...
- Nginx学习总结
2017年2月23日, 星期四 Nginx学习总结 Nginx是目前比较主流的HTTP反向代理服务器(其企业版提供了基于TCP层的反向代理插件),对于构建大型分布式web应用,具有举足轻重的作用.简单 ...
- 第9月第26天 pairs和ipairs cocos2dx 动画
1. a={ ip = "127.0.0.1", port = 6789 } for i,v in pairs(a) do print(i,v) end a={1} for i,v ...
- 如何使用optipng压缩png图片
OptiPNG – Google推荐的png图片无损压缩工具下载及使用教程 2014年08月24日 实用软件 暂无评论 optipng png图片无损压缩工具介绍: optipng png图片无损压缩 ...
- 通过JavaScript自由切换iframe
我发现我有很大的强迫症,如果看到别人的文章没有最终的效果图,我会毫不犹豫关掉这个页面.真的很炸毛这种,让我有很不舒服的体验:所以纵使网上有类似的了,我还是写一篇给那些跟我有同样症状的人阅读. 首先来学 ...
- Regular Expression Matching & Wildcard Matching
Regular Expression Matching Implement regular expression matching with support for '.' and '*'. '.' ...