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

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

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

リードレプリカを使用する MySQL DB インスタンスの GTID ベースレプリケーションを無効にするには
  1. 各リードレプリカで、次の手順を実行します。

    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 インスタンスで、SHOW MASTER STATUS コマンドを実行します。

      出力は次のようになります。

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

      出力のファイルと位置に注意してください。

    2. リードレプリカごとに、前のステップで得たソースインスタンスのファイルと位置の情報を使用して、次のクエリを実行します。

      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.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 インスタンスと各リードレプリカを再起動します。