MySQL バイナリログにアクセスする
mysqlbinlog ユーティリティを使用して、RDS for MySQL DB インスタンスからバイナリログをダウンロードまたはストリーミングできます。バイナリログはローカルコンピューターにダウンロードされ、mysql ユーティリティを使用してログの再生などの操作を実行できます。mysqlbinlog ユーティリティの使用の詳細については、「バイナリログファイルのバックアップのための mysqlbinlog の使用
Amazon RDS インスタンスに対して mysqlbinlog ユーティリティを実行するには、以下のオプションを使用します。
-
--read-from-remote-server
オプションを指定します。 -
--host
: インスタンスのエンドポイントからの DNS 名を指定します。 -
--port
: インスタンスによって使用されるポートを指定します。 -
--user
: レプリケーションスレーブアクセス許可を付与された MySQL ユーザーを指定します。 -
--password
: ユーザーのパスワードを指定するか、パスワード値を省略します。省略した場合、ユーティリティによってパスワードの入力を求められます。 -
ファイルをバイナリ形式でダウンロードするには、
--raw
オプションを指定します。 -
--result-file
: raw 出力を受け取るローカルファイルを指定します。 -
1 つ以上のバイナリログファイルの名前を指定します。使用可能なログのリストを取得するには、SQL コマンド SHOW BINARY LOGS を使用します。
-
バイナリログファイルをストリーミングするには、
--stop-never
オプションを指定します。
mysqlbinlog のオプションの詳細については、「mysqlbinlog - バイナリログファイルを処理するためのユーティリティ
例えば、次のようになります。
Linux、macOS、Unix の場合:
mysqlbinlog \ --read-from-remote-server \ --host=MySQL56Instance1.cg034hpkmmjt.region.rds.amazonaws.com \ --port=3306 \ --user ReplUser \ --password \ --raw \ --result-file=/tmp/ \ binlog.00098
Windows の場合:
mysqlbinlog ^ --read-from-remote-server ^ --host=MySQL56Instance1.cg034hpkmmjt.region.rds.amazonaws.com ^ --port=3306 ^ --user ReplUser ^ --password ^ --raw ^ --result-file=/tmp/ ^ binlog.00098
Amazon RDS では、通常、バイナリログはできる限り早く消去されますが、mysqlbinlog によってアクセスされるバイナリログはインスタンスで保持される必要があります。RDS でバイナリログを保持する時間数を指定するには、mysql.rds_set_configuration
ストアドプロシージャを使用して、ログのダウンロードするのに十分な期間を指定します。保持期間を設定したら、DB インスタンスのストレージ使用状況をモニタリングして、保持されたバイナリログに必要以上の容量が使用されないようにします。
以下の例では、保持期間を 1 日に設定しています。
call mysql.rds_set_configuration('binlog retention hours', 24);
現在の設定を表示するには、mysql.rds_show_configuration
ストアドプロシージャを使用します。
call mysql.rds_show_configuration;