blob.png

        今天去线上查看MySQL的binlog日志发现查看你失败,报错如下

[root@mysql log-bin]# mysqlbinlog mysql-bin.000004 
mysqlbinlog: unknown variable 'default-character-set=utf8'

       原因是mysqlbinlog这个工具无法识别binlog中的配置中的default-character-set=utf8这个指令。

       两个方法可以解决这个问题

第一个解决方法

        是在MySQL的配置/etc/my.cnf中将default-character-set=utf8 修改为 character-set-server = utf8,但是这需要重启MySQL服务,如果你的MySQL服务正在忙,那这样的代价会比较大。

第二个解决方法

        是用mysqlbinlog --no-defaults mysql-bin.000004 命令打开

[root@mysql log-bin]# mysqlbinlog --no-defaults mysql-bin.000004 |less
/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;

        第一种方法没有测试,因为是线上,不能进行重启,所以使用第二个就可以打开这个文件。