リードレプリカを持つ MySQL DB インスタンスの GTID ベースレプリケーションを無効にする - Amazon Relational Database Service

リードレプリカを持つ MySQL DB インスタンスの GTID ベースレプリケーションを無効にする

リードレプリカを含む MySQL DB インスタンスです。

リードレプリカを使用する MySQL DB インスタンスの 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_modeON_PERMISSIVE にリセットします。

    1. MySQL DB インスタンスおよび各リードレプリカに関連付けられたパラメータグループで gtid_modeON_PERMISSIVE になっていることを確認します。

      パラメータグループを使用して設定パラメータの設定の詳細については、「Amazon RDS のパラメータグループ」を参照してください。

    2. MySQL DB インスタンスと各リードレプリカを再起動します。再起動の詳細については、「 DB インスタンスの再起動」を参照してください。

  3. gtid_modeOFF_PERMISSIVE にリセットします。

    1. MySQL DB インスタンスおよび各リードレプリカに関連付けられたパラメータグループで gtid_modeOFF_PERMISSIVE になっていることを確認します。

    2. MySQL DB インスタンスと各リードレプリカを再起動します。

  4. すべての GTID トランザクションがすべてのリードレプリカに適用されるまで待ちます。適用されたことを確認するには、次の手順を実行します。

    1. MySQL DB インスタンスで、次のコマンドを実行します。

      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 DB インスタンスおよび各リードレプリカに関連付けられたパラメータグループに、以下のパラメータ設定が含まれていることを確認します。

      • gtid_modeOFF

      • enforce_gtid_consistencyOFF

    2. MySQL DB インスタンスと各リードレプリカを再起動します。