リードレプリカを持つ MySQL DB インスタンスの GTID ベースレプリケーションを無効にする
リードレプリカを含む MySQL DB インスタンスです。
リードレプリカを使用する MySQL DB インスタンスの GTID ベースレプリケーションを無効にするには
-
各リードレプリカで、次の手順を実行します。
CALL mysql.rds_set_master_auto_position(0);
-
gtid_mode
をON_PERMISSIVE
にリセットします。-
MySQL DB インスタンスおよび各リードレプリカに関連付けられたパラメータグループで
gtid_mode
がON_PERMISSIVE
になっていることを確認します。パラメータグループを使用して設定パラメータの設定の詳細については、「Amazon RDS のパラメータグループ」を参照してください。
-
MySQL DB インスタンスと各リードレプリカを再起動します。再起動の詳細については、「 DB インスタンスの再起動」を参照してください。
-
-
gtid_mode
をOFF_PERMISSIVE
にリセットします。-
MySQL DB インスタンスおよび各リードレプリカに関連付けられたパラメータグループで
gtid_mode
がOFF_PERMISSIVE
になっていることを確認します。 -
MySQL DB インスタンスと各リードレプリカを再起動します。
-
-
すべての GTID トランザクションがすべてのリードレプリカに適用されるまで待ちます。適用されたことを確認するには、次の手順を実行します。
-
MySQL DB インスタンスで、
SHOW MASTER STATUS
コマンドを実行します。出力は次のようになります。
File Position ------------------------------------ mysql-bin-changelog.000031 107 ------------------------------------
出力のファイルと位置に注意してください。
-
リードレプリカごとに、前のステップで得たソースインスタンスのファイルと位置の情報を使用して、次のクエリを実行します。
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);
-
-
GTID パラメータをリセットして、GTID ベースのレプリケーションを無効にします。
-
MySQL DB インスタンスおよび各リードレプリカに関連付けられたパラメータグループに、以下のパラメータ設定が含まれていることを確認します。
-
gtid_mode
–OFF
-
enforce_gtid_consistency
–OFF
-
-
MySQL DB インスタンスと各リードレプリカを再起動します。
-