バイナリログの内容を見ようとしてエラーが出た。
# 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です。