mysqlbinlogでエラー

バイナリログの内容を見ようとしてエラーが出た。

# mysqlbinlog mysql-bin.000100 > /tmp/statement.sql
unknown variable 'default-character-set=utf8'

どうやら、設定設定ファイルのdefault-character-set=utf8の部分が分からないようだ。


対策方法は2つ。
1つ目は、設定ファイルの該当箇所をなくすなり、コメントアウトするなりする。該当箇所は、my.cnfの[client]セクションのdefault-charater-set=utf8の部分。間違えて、[mysqld]や[mysqldump]セクションのdefault-character-set=utf8は今回のエラーに関係ないので、消したりしないようにすること。あと、設定ファイルを変更するので、再起動しないといけない。だから、サーバを止めることのできないシステムだと、この方法は使えない。


2つめは、mysqlbinlogにオプションを追加する。

mysqlbinlog --no-defaults mysql-bin.000100 > /tmp/statement.sql

文字コードを関係しなくするのかな。ちゃんと詳しく調べて詳しく説明しようと思ったのだけど、マニュアルにこのオプションの説明がなかった。バージョンによってはもしかして使えないのか?ちなみに、僕が実際に使ってエラーがでなくなって成功したのは、mysql5.0.32です。