マルチAZのmysqldumpでWarningが出た
マルチAZのRDS(MySQL)は、バイナリログ(binlog)レプリケーションでGTIDs(Global Transaction ID)を使っています。そして、マルチAZ状態でmysqldumpコマンドを使うと次の様に怒られる。
Warning: A partial dump from a server that has GTIDs will by default include the GTIDs of all transactions, even those that changed suppressed parts of the database. If you don't want to restore GTIDs, pass --set-gtid-purged=OFF. To make a complete dump, pass --all-databases --triggers --routines --events.
DeepL翻訳すると・・・、
警告。GTIDを持つサーバーからの部分的なダンプには、デフォルトではすべてのトランザクションのGTIDが含まれ、データベースの抑制された部分を変更したものも含まれます。GTIDを復元したくない場合は、-set-gtid-purgeed=OFFを渡してください。完全なダンプを作成するには、–all-databases –triggers –routines –events を渡します。
とのことです。レプリケーションで複数のデータベースだから、単体DBの時と勝手が違う!という事ですね。
この場合、以下のダンプコマンドではなく
mysqldump -u ユーザー名 -p -h ホスト名 DB名> ファイル名.sql
GTIDをリストアしなくていいのであれば、次のダンプコマンドを使う
mysqldump -u ユーザー名 -p -h ホスト名 --set-gtid-purged=OFF DB名 > ファイル名.sql
完全なダンプを行うには
mysqldump -u ユーザー名 -p --all-databases DB名 > ファイル名.sql
となります。