mysqlbinlog ユーティリティを使用して、RDS for MySQL DB インスタンスからバイナリログをダウンロードまたはストリーミングできます。バイナリログはローカルコンピュータにダウンロードされ、mysql ユーティリティを使用してログの再生などの操作を実行できます。mysqlbinlog ユーティリティの使用の詳細については、MySQL ドキュメントの「バイナリログファイルのバックアップのための mysqlbinlog の使用
Amazon RDS インスタンスに対して mysqlbinlog ユーティリティを実行するには、以下のオプションを使用します。
-
--read-from-remote-server
– 必須。 -
--host
- インスタンスのエンドポイントからの DNS 名。 -
--port
- インスタンスによって使用されるポート。 -
--user
–REPLICATION SLAVE
アクセス許可を付与された MySQL ユーザー。 -
--password
- MySQL ユーザーのパスワード。パスワード値を省略省略した場合、ユーティリティによってパスワードの入力を求められます。 -
--raw
— バイナリ形式のファイルをダウンロードします。 -
--result-file
- raw 出力を受け取るローカルファイル。 -
--stop-never
— バイナリログファイルをストリーミングします。 -
--verbose
—ROW
binlog 形式を使用するとき、このオプションを含めると、行イベントが疑似 SQL ステートメントとして表示されます。--verbose
オプションの詳細については、MySQL ドキュメントの「mysqlbinlog row event display」(mysqlbinlog の行イベントの表示) を参照してください。 -
1 つ以上のバイナリログファイルの名前を指定します。使用可能なログのリストを取得するには、SQL コマンド
SHOW BINARY LOGS
を使用します。
mysqlbinlog のオプションの詳細については、MySQL ドキュメントの「mysqlbinlog - バイナリログファイルを処理するためのユーティリティ
以下の例では、mysqlbinlog ユーティリティの使用方法を示します。
Linux、macOS、Unix の場合:
mysqlbinlog \ --read-from-remote-server \ --host=MySQLInstance1.cg034hpkmmjt.region.rds.amazonaws.com \ --port=3306 \ --user ReplUser \ --password \ --raw \ --verbose \ --result-file=/tmp/ \ binlog.00098
Windows の場合:
mysqlbinlog ^ --read-from-remote-server ^ --host=MySQLInstance1.cg034hpkmmjt.region.rds.amazonaws.com ^ --port=3306 ^ --user ReplUser ^ --password ^ --raw ^ --verbose ^ --result-file=/tmp/ ^ binlog.00098
mysqlbinlog ユーティリティがバイナリログにアクセスするには、バイナリログが DB インスタンスで利用可能な状態である必要があります。可用性を確保するには、mysql.rds_set_configuration ストアドプロシージャを使用して、ログをダウンロードできる十分な期間を指定します。この設定を行わないと、Amazon RDS はバイナリログをできるだけ早く消去するため、mysqlbinlog ユーティリティが取得するバイナリログにギャップが生じます。
以下の例では、保持期間を 1 日に設定しています。
call mysql.rds_set_configuration('binlog retention hours', 24);
現在の設定を表示するには、mysql.rds_show_configuration ストアドプロシージャを使用します。
call mysql.rds_show_configuration;