如果复制停止由于一个问题与一个事件在一个复制的事务,您可以通过跳过的简历复制副本失败的事务。跳过一个事务之前,确保复制I / O的线程停止以及SQL线程。
首先你需要确定复制事件导致错误。错误的细节和最后成功应用事务性能模式表中的记录replication_applier_status_by_worker
。您可以使用mysqlbinlog检索和显示的事件被记录在错误的时间。说明要做到这一点,请参阅时间点(增量)复苏。或者,您可以问题显示RELAYLOG的事件
在副本或显示BINLOG的事件
在源。
在跳过事务和重新启动复制之前,检查这些点:
是停止的事务复制从一个未知的或不可信的来源吗?如果是这样,调查原因,以防有任何安全方面的考虑,指示副本不应该重新启动。
停止复制的事务需要应用于复制品吗?如果是这样,要么做适当的修正和重新申请事务,或手动协调上的数据副本。
并停止复制的事务需要应用于源吗?如果没有,则手动撤销事务服务器上的最初发生。
跳过事务,选择合适下列方法之一:
当GTIDs在使用(
gtid_mode
是在
),看部分2.7.3.1,“与GTIDs跳过交易”。当GTIDs不使用或正在分阶段(
gtid_mode
是从
,OFF_PERMISSIVE
,或ON_PERMISSIVE
),看部分2.7.3.2,“没有GTIDs跳过交易”。如果你启用了GTID任务复制通道使用
ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS
选择的改变复制源
声明中,看到部分2.7.3.2,“没有GTIDs跳过交易”。使用ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS
在复制通道并不等同于引入GTID-based复制通道,并不能使用事务跳过GTID-based复制的方法与途径。
跳过事务后,重新启动复制问题开始复制|奴隶
,为通道
条款,如果是多源的复制品复制品。