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

记一次MySQL主从复制出错_第1张图片

在MySQL5.6之前,只需执行:

mysql>set global sql_slave_skip_counter=1;

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

记一次MySQL主从复制出错_第2张图片

分析:

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

wps8

通过命令

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;

记一次MySQL主从复制出错_第3张图片

然后查看状态

记一次MySQL主从复制出错_第4张图片

问题得以解决,Perfect!