為Aurora MySQL 資料庫叢集停用 GTID 式複寫 - Amazon Aurora

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

Aurora MySQL 資料庫叢集停用 GTID 式複寫

您可以為 Aurora MySQL 資料庫叢集停用 GTID 式複寫。如此一來,Aurora 叢集就無法透過採用 GTID 式複寫的外部資料庫執行傳入或傳出 binlog 複寫作業。

注意

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

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

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_modeON_PERMISSIVE

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

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

  3. gtid_mode 重設為 OFF_PERMISSIVE

    1. 確定與 Aurora MySQL 叢集相關聯的資料庫叢集參數群組有設定為 gtid_modeOFF_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 資料庫叢集。