[MySQL] mysqlbinlogで指定日時のログを取り出す方法

Database

mysqlbinlogから指定日時のログを取り出す方法を紹介します。

MySQLのバイナリログはバイナリ形式で書き込まれます。バイナリログをテキスト形式に変換するには、mysqlbinlogコマンドを利用します。

mysqlbinlog [options] logfile

オプションを指定しない場合、バイナリログ全ての内容をダンプします。
指定日時のログを取り出したいときは、以下のオプションを指定します。

  • –start-datetime
  • –stop-datetime

実行例:

mysqlbinlog --start-datetime="2016-4-15 9:00:00" --stop-datetime="2016-4-15 9:10:00" mysql-bin.000003

この例の場合、”2016-4-15 9:10:00″もしくはこれ以降のバイナリデータがでた時点で読込みを終了します。この時、そのデータは出力の対象外なので注意してください。

ダンプは標準出力に出力されるので、パイプやリダイレクトを組み合わせると便利です。

mysqlbinlog mysql-bin.000003 | less
mysqlbinlog mysql-bin.000003 > /tmp/binlog.dump

以上、mysqlbinlogから指定日時のログを取り出す方法の紹介でした。

タイトルとURLをコピーしました