原因:没有规范地在主库执行SQL,而是在从库执行了SQL,导致Errant gtid found 或者errant transaction ;
如果确认当前数据是一致的;
1, master 上执行select @@global.gtid_executed, 查看master已执行的所有gtid;
2, 从库执行如下sql,目的是重置从库的gtid_purged列表,使之等于master上的已执行列表; 这样就会从该GTID之后开始同步
stop slave;
reset master; 清理掉gtid.executed
reset slave;
set @@global.gtid_purged='70a76530-b9d3-11e9-8d38-fa16bae5f8ca:1-1070,a23c850c-b9c7-11e9-b8e0-fa16f381d97a:1-1975,bb08f12d-b9c4-11e9-8916-fa162e6b02e2:1-407144';
CHANGE MASTER TO
master_auto_position=1;
MASTER_CONNECT_RETRY=10;
start slave;
show slave status \G