針對個體停用基礎複寫 SQL - Amazon Aurora

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

針對體停用基礎複寫 SQL

您可以停用 Aurora 我的SQL資料庫叢集的GTID基礎複寫。這樣做表示 Aurora 叢集無法對使用以GTID架構為基礎的複寫的外部資料庫執行輸入或輸出 Binlog 複寫。

注意

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

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

若要停用 Aurora My SQL DB 叢集的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 我的叢集關聯的資料庫SQL叢集參數群組已gtid_mode設定為ON_PERMISSIVE

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

    2. 重新啟動 Aurora 我的SQL資料庫叢集。

  3. gtid_mode 重設為 OFF_PERMISSIVE

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

    2. 重新啟動 Aurora 我的SQL資料庫叢集。

  4. 等待 Aurora 主執行個體上套用所有GTID交易。要檢查這些是否應用,請執行以下步驟:

    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 My 叢集關聯的資料庫SQL叢集參數群組具有下列參數設定:

      • gtid_modeOFF

      • enforce_gtid_consistencyOFF

    2. 重新啟動 Aurora 我的SQL資料庫叢集。