デフォルトの状態ではバイナリログは出力されていないので設定しておく。
ロールフォワードリカバリにも利用できる。
設定ファイルを変更する
#vim /etc/my.cnf
[mysqld]
log-bin
expire_logs_days = 14
「expire_logs_days」でとりあえず2週間で削除されるように設定しておく。
※ロールフォワードリカバリするた為には別途都度バックアップをとっておく必要がある。
保存したらmysqlの再起動
設定が反映されているか確認する。
[(none)] 10:04 am> show master logs;
+-------------------+-----------+
| Log_name | File_size |
+-------------------+-----------+
| mysqld-bin.000001 | 126 |
| mysqld-bin.000002 | 126 |
| mysqld-bin.000003 | 107 |
+-------------------+-----------+
3 rows in set (0.00 sec)
[(none)] 10:04 am> show global variables like 'expire_logs_days';
+------------------+-------+
| Variable_name | Value |
+------------------+-------+
| expire_logs_days | 14 |
+------------------+-------+
1 row in set (0.00 sec)
バイナリログの中身を確認する
今回の設定だと「/var/lib/mysql」以下にファイルができる
ファイルの中身はもちろんバイナリなので「mysqlbinlog」ユーティリティ
を利用する。
# pwd
/var/lib/mysql
# mysqlbinlog -D mysqld-bin.000001
参考URL
MySQLバイナリログの仕様
MySQL バイナリログの管理
MySQL バイナリログの削除
知って得する!MySQL のリカバリ