天天看点

GTID复制异常的解决步骤

GTID复制异常的解决方法

主从复制使用的是GTID方式。

下面这个环境,出问题的原因不提了。

下面是从库的截图:

<a href="https://s1.51cto.com/wyfs02/M01/8F/CC/wKiom1jsq6SSMuCNAAC1qppvqxc520.png" target="_blank"></a>

Retrieved_Gtid_Set:167b4197-09fa-11e7-993f-000c296a2c0d:1-6

Executed_Gtid_Set:167b4197-09fa-11e7-993f-000c296a2c0d:1-5,

261aafbc-0ace-11e7-9ea6-000c298f384b:1-305

第一行表示收到的事务,第二行表示已经执行完的事务。也就是说执行到Retrieved_Gtid_Set时候发生错误了。因此,我们直接单单跳过这个事务即可。

在从库执行修复:

step1、修补数据

(我当时这个情况是当时在主库关闭binlog然后执行了一个alter操作,但是忘记在从库执行这个alter操作,导致复制异常的。复制异常后,我在从库补了这个alter操作,但是实际上数据是否一致需要自己对比主和从在alter操作后那段时间内的binlog记录)

step2、重新配置主从

SET gtid_next='167b4197-09fa-11e7-993f-000c296a2c0d:6';    # 跳过Retrieved_Gtid_Set这个最后的事务就行了

BEGIN;

COMMIT;

SETgtid_next='automatic';

startslave;

showslave status\G

<a href="https://s1.51cto.com/wyfs02/M00/8F/CC/wKiom1jsq7TCnuzOAACtZHqQPWI226.png" target="_blank"></a>

本文转自 lirulei90 51CTO博客,原文链接:http://blog.51cto.com/lee90/1914978,如需转载请自行联系原作者

继续阅读