**在故障切换全部完成后,**原主库恢复,新主库(原从库)复制IO线程可能自动重连并获取到切换前没有获取到的事务,而这样的事务在切换的处理过程中,已经是被认定没有提交成功的事务,不能再继续复制,否则会有数据混乱的风险。
因此增加计算节点参数failoverAutoresetslave,默认关闭。
<propertyname=“failoverAutoresetslave”>false
**故障切换后,**会暂停原主从之间IO线程,并对原主库每分钟进行一次心跳检测直到原主库恢复正常。原主库恢复正常后,对比原主库的binlog位置,检测原从库(现主库)是否存在切换前没有获取到的事务,若存在,开启此参数则自动重置主从复制关系。若不存在未接收的事务,则重新开启IO线程并不再做任何处理。
注意:
Ø 检测是否有未接收的事务的前提是主从库都需要开启GTID,否则此参数开启时,故障切换完成会自动重置主从复制关系。
Ø 若原主库在心跳检测时重试超过10080次,仍然为不可用状态,此时,参数为开启状态,也会自动重置主从复制关系。
Ø 若发生自动重置复制关系后,计算节点记录warning级别的报警日志如下:
you should decide whether to manuallyexecute the unexecuted part of binlog or rebuild the replication according tothe actual situation.
且管理平台中的主备状态会显示异常,鼠标悬浮显示如图提示信息:
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69999831/viewspace-3160251/ ,如需转载,请注明出处,否则将追究法律责任。