

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

# 為具備僅供讀取複本的 MySQL 資料庫執行個體停用 GTID 式複寫
<a name="mysql-replication-gtid.disabling"></a>

您可以為 具備僅供讀取複本的 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);
   ```

1. 將 `gtid_mode` 重設為 `ON_PERMISSIVE`。

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

      如需使用參數群組設定組態參數的詳細資訊，請參閱[Amazon RDS 的參數群組](USER_WorkingWithParamGroups.md)。

   1. 重新啟動 MySQL 資料庫執行個體和每個僅供讀取複本。如需重新啟動的詳細資訊，請參閱[在資料庫執行個體](USER_RebootInstance.md)。

1. 將 `gtid_mode` 重設為 `OFF_PERMISSIVE`。

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

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

1. 等待系統將全部的 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
      ------------------------------------
      ```

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

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

      **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);
      ```

1. 重設 GTID 參數，以停用 GTID 式複寫。

   1. 確定與 MySQL 資料庫執行個體有關的參數群組和每個僅供讀取複本有下列參數設定：
      + `gtid_mode` – `OFF`
      + `enforce_gtid_consistency` – `OFF`

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