日期:2014-05-16  浏览次数:21005 次

MySQL Binlog(异常)——mysqlbinlog: unknown variable 'default-character-set=utf8'

在使用mysqlbinlog分析日志时,报错:/usr/local/mysql/bin/mysqlbinlog: unknown variable 'default-character-set=utf8'


原因分析:
产生这个问题的原因是因为我在my.cnf中的client选项组中添加了:
?default-character-set=utf8
这个是mysqlbinlog的一个bug


解决方法:
使用mysqlbinlog工具查看二进制日志时会重新读取的mysql的配置文件my.cnf,而不是服务器已经加载进内存的配置文件。

只要修改并保存了my.cnf文件,而不需要重起mysql服务器。
所以这里可以使用此方法:把client选项组中default-character-set=utf8选项屏蔽掉,如
?
#default-character-set=utf8
?
然后运行mysqlbinlog工具,则不会产生任何问题了。当然记得在不在使用mysqlbinlog工具时,把#default-character-set=utf8
选项恢复为default-character-set=utf8;
详见 http://shanchao7932297.blog.163.com/blog/static/136362420112229736293/