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