Percona 的「Database Daily Ops Series: GTID Replication」這篇在講當 MySQL 的 GTID Replication 爛掉時可能的修法,算是頗惡搞的方法,修好後還是要跑 pt-table-checksum 確認兩邊的資料是否一致,如果有狀況的話還是得拿出 pt-table-sync 同步。
第一招是用 pt-slave-restart,跳過會造成問題 SQL,讓他強制同步 (唔):
This passes the master’s UUID and it skips all global transactions breaking replication on a specific slave server[.]
第二招是 mysqlslavetrx,也是類似的作法,只是拿的是 MySQL 官方的工具來惡搞...
第三招是 Inject a Fake Transaction,其實就是手動自己做 XDDD
所以不管是哪招,做完後還是要記得跑 pt-table-{checksum,sync}
收尾,不然還是會爛掉...