mysqlのバイナリログの設定とバイナリログを見るコマンドメモ
設定してるくせによく忘れるので。
my.cnfの設定
■バイナリログを有効にする
1 2 3 | [mysqld] #バイナリログ有効化 log-bin=mysql-bin |
mysqlの再起動する。
どこに出力されてるのか?
1 2 3 4 5 6 7 8 9 | # 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 |
こんな感じでファイルに出る。
1 2 | # mysqlbinlog mysql-bin.000005 mysqlbinlog: unknown variable 'default-character-set=utf8' |
こんなエラーがでたら。。
1 | # mysqlbinlog --no-defaults mysql-bin.000005 |
とするといいみたい。
これはmy.cnf の [client] セクションに default-character-set があるのが問題らしいです。
■クエリログを有効にする
1 2 3 | [mysqld] #クエリログ設定 log=/var/lib/mysql/mysql_querry.log |
mysqlの再起動する。
どこに出力されてるのか?(指定してるけど・・・)
1 2 3 4 | # 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の動作について
あー鼻水止まらない。のど痛い。