社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  DATABASE

MySQL GTID 错误处理汇总

运维帮 • 6 年前 • 848 次点击  

转自:http://blog.csdn.net/leshami/article/details/52778480

作者:Leshami


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


一、GTID的相关特性


配置MySQL GTID 主从复制 
基于mysqldump搭建gtid主从


二、GTID如何跳过事务冲突



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




四、示例演示


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

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

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

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

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


五、小结


1、GTID是全局事务ID,简化了主从架构的部署使得从库不再需要关心log_file和log_pos 
2、由于事务ID的唯一性,使得将其他从库的GTID应用到其它从库成为可能,即提供了便利的failover 
3、GTID是连续的,非空洞性的,因此,对于冲突的情形,需要注入空的事务来实现 
4、可以通过配置延迟从来避免主库上意外的删除对象导致的人为错误


商务合作,请加微信yunweibang555


今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/42kx3oGXBf
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/2663
 
848 次点击