MySQLのバイナリログを取る

MySQLの普通のログは比較的簡易的なものなのですが、それもそのはずでSQL文のすべてのログをとっていたらログ取りの方が負荷になって結構な容量になってしまうのです。が、それでも尚詳細なログを必要とする場合もあるのです。その際は、mysqlのバイナリログなるものを取得できるように設定します。my.cnfで設定します。
# /etc/my.cnf

[mysqld]
.....
log-bin=mysql-bin
expire_logs_days=7
.....

とこんな感じにしておきます。再起動後に有効になります。
# service mysqld restart

バイナリログの場所

/var/lib/mysql/mysql-bin.000001
/var/lib/mysql/mysql-bin.index

かなり大量にできるのでインデックスとログ本体が残ります。これらのバイナリログでトランザクション処理もできるので、便利は便利ですがそんな頻繁にトランザクション使うこと自体が何かしら危険な香りがします。