文件首頁
MySQL 9.0 參考手冊
相關文件 下載本手冊
PDF (美式信紙) - 40.0Mb
PDF (A4) - 40.1Mb
Man Pages (TGZ) - 258.2Kb
Man Pages (Zip) - 365.3Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 9.0 參考手冊  /  ...  /  驗證匿名交易的複製

19.1.4.4 驗證匿名交易的複製

本節說明如何監控複製拓樸,並驗證是否已複製所有匿名交易。當您在線上變更複製模式時,這非常有用,因為您可以驗證變更為 GTID 交易是否安全。

有幾種可能的方法可以等待交易複製

最簡單的方法(無論您的拓樸為何都有效,但取決於時間)如下:如果您確定複本的延遲永遠不會超過 N 秒,請等待任何比您認為對您的部署安全的 N 秒還長的時間。

如果您的部署只有一個來源和一個或多個複本,那麼更安全的方法(在它不依賴於時間的意義上)是執行以下兩個步驟

  1. 在來源上,執行此陳述式

    SHOW BINARY LOG STATUS;

    記下輸出中 FilePosition 資料行中顯示的值。

  2. 在每個複本上,使用來源中的檔案和位置資訊來執行此處顯示的陳述式

    SELECT SOURCE_POS_WAIT(file, position);

如果您有一個來源和多層級的複本(也就是複本的複本),請在每個層級重複第二個步驟,從來源開始,然後在其所有複本上,然後在這些複本的所有複本上,依此類推。

如果您使用循環複製拓樸,其中多個伺服器可能具有寫入用戶端,請對每個來源-複本連線執行第二個步驟,直到您完成整個循環為止。重複此程序,以便您完成整個循環兩次。

例如,如果有三個伺服器 A、B 和 C,以循環方式複製,因此 A 複製到 B,B 複製到 C,而 C 複製到 A,請按照顯示的順序執行以下操作

  • 在 A 上執行步驟 1,在 B 上執行步驟 2。

  • 在 B 上執行步驟 1,在 C 上執行步驟 2。

  • 在 C 上執行步驟 1,在 A 上執行步驟 2。

  • 在 A 上執行步驟 1,在 B 上執行步驟 2。

  • 在 B 上執行步驟 1,在 C 上執行步驟 2。

  • 在 C 上執行步驟 1,在 A 上執行步驟 2。