欢迎光临
我们一直在努力

记一次MySQL主从复制出错

这个主从复制经常出错,我也是***了,上一次的原因是从库的配置文件有问题,我已解决,今天又出错了,如图: 所以解决的方法是跳过错误的事务。

MySQL5.6之前,只需执行:

mysql>set global sql_slave_skip_counter=1;

跳过一个错误的事务,就可以继续进行复制了,但在Mysql5.6之后就不行了:

分析:

因为是通过gtid来进行复制的,所以需要跳过这个事务从而继续复制,这个事务可以到主上的binlog里面查看:因为不知道找哪个GTID上出错,所以也不知道如何跳过哪个GTID。但在show slave status里的信息里可以找到在执行Master里的POS:635508

通过命令

mysql>  SHOW BINLOG EVENTS in ‘mysql-bin.002121’ from 635508 limit 10;

可查看出要调过的GTID

mysql-bin.002121 | 635508 | Gtid           | 1408099586 |      635573 | SET @@SESSION.GTID_NEXT= ‘9b4f9d6b-5777-11e8-9e63-ec0d9a2fab3e:97831165’

然后,按照如下图执行:

mysql>set session gtid_next= ‘9b4f9d6b-5777-11e8-9e63-ec0d9a2fab3e:97831165’;

mysql>begin;

mysql>commit;

mysql>SET SESSION GTID_NEXT = AUTOMATIC;

mysql>start slave;

然后查看状态

问题得以解决,Perfect!

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。