在使用mysqlbinlog分析日志时,报错

mysqlbinlog: unknown variable 'default-character-set=utf8'

原因分析如下

产生这个问题的原因是字符编码的问题,为了能够使Mysql中数据中文显示不乱吗,就在my.cnf中添加了:

 default-character-set=utf8
这个是 mysqlbinlog的一个bug
 

对于这个问题有两种解决办法

1、mysqlbinlog --no-defaults mysql-bin.000019

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

只要修改并保存了 my.cnf文件,而不需要重起mysql服务器。
所以这里可以使用此方法:把my.cnf中的default-character-set=utf8选项注释掉即可
然后运行 mysqlbinlog工具,则不会产生任何问题了。当然记得在不在使用mysqlbinlog工具时,选项恢复为 default-character-set=utf8;