GTID複製異常的解決步驟
- 2019 年 10 月 4 日
- 筆記
GTID複製異常的解決方法
主從複製使用的是GTID方式。
下面這個環境,出問題的原因不提了。
下面是從庫的截圖:
Retrieved_Gtid_Set:167b4197-09fa-11e7-993f-000c296a2c0d:1-6
Executed_Gtid_Set:167b4197-09fa-11e7-993f-000c296a2c0d:1-5,
261aafbc-0ace-11e7-9ea6-000c298f384b:1-305
第一行表示收到的事務,第二行表示已經執行完的事務。也就是說執行到Retrieved_Gtid_Set時候發生錯誤了。因此,我們直接單單跳過這個事務即可。
在從庫執行修復:
step1、修補數據
(我當時這個情況是當時在主庫關閉binlog然後執行了一個alter操作,但是忘記在從庫執行這個alter操作,導致複製異常的。複製異常後,我在從庫補了這個alter操作,但是實際上數據是否一致需要自己對比主和從在alter操作後那段時間內的binlog記錄)
step2、重新配置主從
SET gtid_next='167b4197-09fa-11e7-993f-000c296a2c0d:6'; # 跳過Retrieved_Gtid_Set這個最後的事務就行了
BEGIN;
COMMIT;
SETgtid_next='automatic';
startslave;
showslave statusG