Aurora MySQL DB クラスターの GTID ベースレプリケーションを無効にする
Aurora MySQL DB クラスターに対する GTID ベースのレプリケーションは、無効にすることができます。これを行うと、Aurora クラスターは、GTID ベースのレプリケーションを使用する外部データベースとのインバウンドまたはアウトバウンドの binlog レプリケーションを実行できなくなります。
注記
次の手順で、リードレプリカは、外部データベースとの間で binlog レプリケーションを伴う Aurora 設定のレプリケーションターゲットを意味します。読み取り専用の Aurora レプリカ DB インスタンスを意味するものではありません。例えば、Aurora クラスターが外部出典からの受信レプリケーションを受け入れる場合、Aurora プライマリインスタンスは binlog レプリケーションのリードレプリカとして機能します。
このセクションで示されているストアドプロシージャの詳細については、「Aurora MySQL ストアドプロシージャリファレンス」を参照してください。
Aurora MySQL DB クラスターの GTID ベースレプリケーションを無効にするには
-
Aurora レプリカで、次の手順を実行します。
バージョン 3 の場合
CALL mysql.rds_set_source_auto_position(0);
バージョン 2 の場合
CALL mysql.rds_set_master_auto_position(0);
-
gtid_mode
をON_PERMISSIVE
にリセットします。-
Aurora MySQL クラスターに関連付けられている DB クラスターパラメータグループで、
gtid_mode
がON_PERMISSIVE
に設定されていることを確認します。パラメータグループを使用して設定パラメータの設定の詳細については、「Amazon Aurora のパラメータグループ」を参照してください。
-
Aurora MySQL DB クラスターを再起動します。
-
-
gtid_mode
をOFF_PERMISSIVE
にリセットします。-
Aurora MySQL クラスターに関連付けられている DB クラスターパラメータグループで、
gtid_mode
がOFF_PERMISSIVE
に設定されていることを確認します。 -
Aurora MySQL DB クラスターを再起動します。
-
-
すべての GTID トランザクションが Aurora プライマリインスタンスに適用されるまで待ちます。適用されたことを確認するには、次の手順を実行します。
-
Aurora プライマリインスタンスで、
SHOW MASTER STATUS
コマンドを実行します。出力は次のようになります。
File Position ------------------------------------ mysql-bin-changelog.000031 107 ------------------------------------
出力のファイルと位置に注意してください。
-
リードレプリカごとに、前のステップで得たソースインスタンスのファイルと位置の情報を使用して、次のクエリを実行します。
バージョン 3 の場合
SELECT SOURCE_POS_WAIT('
file
',position
);バージョン 2 の場合
SELECT MASTER_POS_WAIT('
file
',position
);例えば、ファイル名が
mysql-bin-changelog.000031
で、場所が107
の場合は、次のステートメントを実行します。バージョン 3 の場合
SELECT SOURCE_POS_WAIT('mysql-bin-changelog.000031', 107);
バージョン 2 の場合
SELECT MASTER_POS_WAIT('mysql-bin-changelog.000031', 107);
-
-
GTID パラメータをリセットして、GTID ベースのレプリケーションを無効にします。
-
Aurora MySQL クラスターに関連付けられた DB クラスターパラメータグループに次のパラメータが設定されていることを確認します。
-
gtid_mode
–OFF
-
enforce_gtid_consistency
–OFF
-
-
Aurora MySQL DB クラスターを再起動します。
-