MySQL gtid purge_MySQL GTID 错误处理汇总

原标题:MySQL GTID 错误处理汇总

转自:http://blog.youkuaiyun.com/leshami/article/details/52778480

作者:Leshami

MySQL GTID是在传统的mysql主从复制的基础之上演化而来的产物,即通过UUID加上事务ID的方式来确保每一个事物的唯一性。这样的操作方式使得我们不再需要关心所谓的log_file和log_Pos,只是简单的告诉从库,从哪个服务器上去找主库就OK了。简化了主从的搭建以及failover的过程,同时比传统的复制更加安全可靠。由于GTID是连续没有空洞的,因此主从库出现数据冲突时,可以通过注入空事物的方式进行跳过。本文主要讲述GTID主从架构的错误处理方式。

一、GTID的相关特性

配置MySQL GTID 主从复制

基于mysqldump搭建gtid主从

二、GTID如何跳过事务冲突

1ec84c2cbc289f921c37173b3092716c.png

三、GTID事务冲突的几种常见类型

82db6179347d4060f575d3aad58cde41.png

四、示例演示

574066fec988cc2c350a7484f03fcf6f.png

8d3d3b8693248f53eceba15bf1e3e20a.png

1、从库报主键重复(Errno: 1062)

004de1b4eb9ce533d3d0ec4c532038ce.png

26f692e3667d0dcd88038f2c458a5203.png

2、从库报找不到对应的被更新的记录(Errno: 1032)

88e0dfe2728e8b554650dc3af8df9050.png

97e84714c175ab2fc31a8519627df871.png

3、从库找不到对应的被删除的记录(Errno: 1032)

baf28f2999419ea3f1f6416c65b0e7bf.png

a66306f1f37241ade66346bbb42518ef.png

4、延迟从修复主库意外truncate

52b113f8ee80cec01e2bd964cddf3040.png

db6e201870fc83451738af033c52229e.png

00120f731f8e7a3ab357c7aa28ddb08e.png

c646d970eb78b3466196f00edb6c93d2.png

5、主库binlog被purge的情形(Errno: 1236)

c21819536936f27b89df087037bc233e.png

93e874e7bcd15ee7e6a3fea3965f85a4.png

f2b3f7c39499bb9a5571db1d429cb329.png

a007e8b1418f4680495c62caa4e5bd8c.png

0ed6e619b1c16ae377caee0df4beb375.png

9946725326e442e93697e4286ff593fc.png

五、小结

1、GTID是全局事务ID,简化了主从架构的部署使得从库不再需要关心log_file和log_pos

2、由于事务ID的唯一性,使得将其他从库的GTID应用到其它从库成为可能,即提供了便利的failover

3、GTID是连续的,非空洞性的,因此,对于冲突的情形,需要注入空的事务来实现

4、可以通过配置延迟从来避免主库上意外的删除对象导致的人为错误返回搜狐,查看更多

责任编辑:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值