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