MySQL · 答疑解惑 · GTID不一致分析

背景

server A,B 为双主结构,对于 server A 当gtid_next设置为AUTOMATIC时,A上执行的事务在binlog刷盘时递增获取事务的gtid,从而保证了在binlog中属于A的gtid是连续递增的。

A的binlog在B应用时,B会通过 Executed_Gtid_Set 来记录A的binlog在B的执行情况。而A的binlog中gtid是连续的,从而

  1. B未开启并行复制,B依次应用binlog,Executed_Gtid_Set中B的gtid集合应该是连续的,如A:1-100

  2. B开启并行复制此时,B并发应用binlog,Executed_Gtid_Set中B的gtid集合末端可能会出现不连续的情况,如A:1-92:94-96:98-100
    但是如果在A停止写入,B和A完全同步的情况下,Executed_Gt

点赞