在使用mysqlbinlog查看日志时,出现一个错误提示如下:
/usr/local/mysql/bin/mysqlbinlog: unknown variable 'default-character-set=utf8'
原因分析,是由于在my.cnf中的client选项组中添加了:
default-character-set=utf8
这里提供二个解决这个bug的方法。
方法1,使用:--no-defaults
./mysqlbinlog --no-defaults mysql-bin.000063
方法2,使用mysqlbinlog工具查看二进制日志时会重新读取的mysql的配置文件my.cnf(windows下是my.ini),而不是服务器已经加载进内存的配置文件。
只要修改并保存了my.cnf文件,而不需要重起mysql服务器,则使用mysqlbinlog查看时修改后的my.cnf配置文件对mysqlbinlog而言已经生效。
可以使用此方法:把client选项组中default-character-set=utf8选项屏蔽掉,例如:
#default-character-set=utf8
然后运行mysqlbinlog工具,则不会产生任何问题了。
不再使用mysqlbinlog工具时,记得把#default-character-set=utf8选项恢复为:default-character-set=utf8。
就是这样了,希望以上的方法,可以帮助大家解决这个问题。