為具備僅供讀取複本的 MySQL 資料庫執行個體停用 GTID 式複寫 - Amazon Relational Database Service

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

具備僅供讀取複本的 MySQL 資料庫執行個體停用 GTID 式複寫

您可以為 具備僅供讀取複本的 MySQL 資料庫執行個體停用 GTID 式複寫。

具備僅供讀取複本的 MySQL 資料庫執行個體停用 GTID 式複寫
  1. 在每個僅供讀取複本,執行下列程序:

    MySQL 8.4 和更新的主要版本

    CALL mysql.rds_set_source_auto_position(0);

    MySQL 8.0 和較低的主要版本

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

    1. 確定與 MySQL 資料庫執行個體和每個僅供讀取複本關聯的參數群組將 gtid_mode 設定為 ON_PERMISSIVE

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

    2. 重新啟動 MySQL 資料庫執行個體和每個僅供讀取複本。如需重新啟動的詳細資訊,請參閱重新啟動中的資料庫執行個體

  3. gtid_mode 重設為 OFF_PERMISSIVE

    1. 確定與 MySQL 資料庫執行個體和每個僅供讀取複本關聯的參數群組將 gtid_mode 設定為 OFF_PERMISSIVE

    2. 重新啟動 MySQL 資料庫執行個體和每個僅供讀取複本。

  4. 等待系統將全部的 GTID 交易套用至所有僅供讀取複本。若要檢查這些設定是否已套用,請執行下列步驟:

    1. 在 MySQL 資料庫執行個體執行下列命令:

      MySQL 8.4

      SHOW BINARY LOG STATUS

      MySQL 5.7 和 8.0

      SHOW MASTER STATUS

      輸出內容應該會顯示如下。

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

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

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

      MySQL 8.4 和 MySQL 8.0.26 和更高的 MySQL 8.0 版

      SELECT SOURCE_POS_WAIT('file', position);

      MySQL 5.7

      SELECT MASTER_POS_WAIT('file', position);

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

      MySQL 8.4 和 MySQL 8.0.26 和更高的 MySQL 8.0 版

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

      MySQL 5.7

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

    1. 確定與 MySQL 資料庫執行個體有關的參數群組和每個僅供讀取複本有下列參數設定:

      • gtid_modeOFF

      • enforce_gtid_consistencyOFF

    2. 重新啟動 MySQL 資料庫執行個體和每個僅供讀取複本。