资讯专栏INFORMATION COLUMN

mysql开启GTID跳过事务的方法

IT那活儿 / 1712人阅读
mysql开启GTID跳过事务的方法

点击上方“IT那活儿”,关注后了解更多精彩内容!!!


 主从同步异常

今天主从同步有异常,SLAVE STATUS 显示如下:
备注:此次延时由于主库执行如下命令,导致备库不同步。
show grants for RDS_sla@%;

GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.*
TO RDS_sla@%;
查看relay日志的路径和mysqlbinlog 的路径:
解析一下realy日志:
找到 Relay_Log_Pos 537547130;
当前session不产生binlog。

如何解决呢


解决办法一:备库跳过错误
(1) 停止slave进程
mysql> STOP SLAVE;
(2) 设置事务号,事务号从Retrieved_Gtid_Set获取。
在session里设置gtid_next,即跳过这个GTID;
mysql> SET @@SESSION.GTID_NEXT=04df05bb-8142-11eb-baad-
8465695dd4a1:27983052;


(3) 设置空事物


mysql> BEGIN; COMMIT;
(4) 恢复事物号
mysql> SET SESSION GTID_NEXT = AUTOMATIC;
(5) 启动slave进程
mysql> START SLAVE;
解决办法二:使用pt-slave-restart工具
<跳过指定的错误>
pt-slave-restart工具的作用是监视某些特定的复制错误,然后忽略,并且再次启动SLAVE进程(Watch and restart MySQL replication after errors)。
忽略所有1062错误,并再次启动SLAVE进程。
[xxx@xxx]# pt-slave-resetart -S /var/lib/mysql/mysql.sock —error-numbers=1062
检查到错误信息只要包含 test.t1,就一概忽略,并再次启动 SLAVE 进程。
[xxx@xxx]# pt-slave-resetart -S /var/lib/mysql/mysql.sock —error-text=”test.t1”



举个栗子


下面举例解决错误问题号:

本 文 原 创 来 源:IT那活儿微信公众号(上海新炬王翦团队)





END



更多精彩干货分享

点击下方名片关注

IT那活儿

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/129726.html

相关文章

发表评论

0条评论

IT那活儿

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<