mysqlのバイナリログの設定とバイナリログを見るコマンドメモ
設定してるくせによく忘れるので。
my.cnfの設定
■バイナリログを有効にする
[mysqld] #バイナリログ有効化 log-bin=mysql-bin
mysqlの再起動する。
どこに出力されてるのか?
# pwd /var/lib/mysql # ls -al | grep mysql-bin -rw-rw---- 1 mysql mysql 19791 11月 21 17:22 2012 mysql-bin.000001 -rw-rw---- 1 mysql mysql 744930 11月 21 17:22 2012 mysql-bin.000002 -rw-rw---- 1 mysql mysql 441 11月 21 17:24 2012 mysql-bin.000003 -rw-rw---- 1 mysql mysql 335058 11月 27 17:27 2012 mysql-bin.000004 -rw-rw---- 1 mysql mysql 106 11月 27 17:27 2012 mysql-bin.000005 -rw-rw---- 1 mysql mysql 95 11月 27 17:27 2012 mysql-bin.index
こんな感じでファイルに出る。
# mysqlbinlog mysql-bin.000005 mysqlbinlog: unknown variable 'default-character-set=utf8'
こんなエラーがでたら。。
# mysqlbinlog --no-defaults mysql-bin.000005
とするといいみたい。
これはmy.cnf の [client] セクションに default-character-set があるのが問題らしいです。
■クエリログを有効にする
[mysqld] #クエリログ設定 log=/var/lib/mysql/mysql_querry.log
mysqlの再起動する。
どこに出力されてるのか?(指定してるけど・・・)
# pwd /var/lib/mysql # ls -al | grep mysql_querry -rw-rw---- 1 mysql mysql 156836 11月 27 17:41 2012 mysql_querry.log
本番運用する場合はログの容量が大きくなるのでクエリログは
出力しないほうがいいみたい。あくまでデバッグ用で。
■参考サイト
MySQLバイナリログの仕様
7.10. mysqlbinlog — バイナリログファイルを処理するためのユーティリティ
Subject: [mysql 12904] Re: mysqlbinlogの動作について
あー鼻水止まらない。のど痛い。