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
から指定日時のログを取り出す方法の紹介でした。