410gone.click

©2021 sumomo-99

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

更新日: 2021-04-11T06:40:50.479Z

MySQL

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