針對停用 GTID型複寫SQL - Amazon Aurora

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

針對停用 GTID型複寫SQL

您可以停用 Aurora My 資料庫叢集的 GTID型複寫。 SQL 這樣做表示 Aurora 叢集無法對使用 GTID型複寫的外部資料庫執行傳入或傳出 binlog 複寫。

注意

在下列程序中,「僅供讀取複本」指的是 Aurora 組態中的複寫目標,其會在外部資料庫間進行 binlog 複寫。僅供讀取複本並不是指唯讀 Aurora 複本資料庫執行個體。舉例來說,Aurora 叢集接受來自外部來源的傳入複寫作業時,Aurora 主要執行個體會以僅供讀取複本運作,供 binlog 複寫。

如需本節中提及的預存程序詳細資訊,請參閱 Aurora 我的SQL存儲過程參考

停用 Aurora MySQL 資料庫叢集的 GTID型複寫
  1. 在 Aurora 複本上,執行下列程序:

    對於第 3 版

    CALL mysql.rds_set_source_auto_position(0);

    對於第 2 版

    CALL mysql.rds_set_master_auto_position(0);
  2. gtid_mode 重設為 ON_PERMISSIVE

    1. 確定與 Aurora MySQL 叢集相關聯的資料庫叢集參數群組已gtid_mode設定為 ON_PERMISSIVE

      如需使用參數群組設定組態參數的詳細資訊,請參閱Amazon Aurora 的參數群組

    2. 重新啟動 Aurora MySQL 資料庫叢集。

  3. gtid_mode 重設為 OFF_PERMISSIVE

    1. 確定與 Aurora MySQL 叢集相關聯的資料庫叢集參數群組已gtid_mode設定為 OFF_PERMISSIVE

    2. 重新啟動 Aurora MySQL 資料庫叢集。

  4. 等待所有GTID交易套用到 Aurora 主要執行個體。若要檢查是否已套用這些項目,請執行下列步驟:

    1. Aurora 主要執行個體上,執行 SHOW MASTER STATUS命令。

      您的輸出應該類似於下列輸出。

      File Position ------------------------------------ mysql-bin-changelog.000031 107 ------------------------------------

      請注意輸出中的檔案和位置。

    2. 在每個僅供讀取複本上,使用上一個步驟中來源執行個體的檔案和位置資訊來執行下列查詢:

      對於第 3 版

      SELECT SOURCE_POS_WAIT('file', position);

      對於第 2 版

      SELECT MASTER_POS_WAIT('file', position);

      例如,如果檔案名稱為 mysql-bin-changelog.000031且位置為 107,請執行下列陳述式:

      對於第 3 版

      SELECT SOURCE_POS_WAIT('mysql-bin-changelog.000031', 107);

      對於第 2 版

      SELECT MASTER_POS_WAIT('mysql-bin-changelog.000031', 107);
  5. 重設GTID參數以停用 GTID型複寫。

    1. 請確定與 Aurora MySQL 叢集相關聯的資料庫叢集參數群組具有下列參數設定:

      • gtid_modeOFF

      • enforce_gtid_consistencyOFF

    2. 重新啟動 Aurora MySQL 資料庫叢集。