mysqlbinlog 查看binlog日志时报错unknown variable 'default-character-set=utf8'

     

      在通过全备文件和增量binlog文件来导出sql文件,用以恢复完整的数据库时。由于裸的binlog文件是无法直视的,所以使用mysqlbinlog这个工具是用来查看binlog文件内容的(使用方式man mysqlbinlog查看),但是使用mysqlbinlog将binlog文件转换成人类可读的内容时却报错:

[root@server data]$ mysqlbinlog mysql-bin.000009
mysqlbinlog: unknown variable 'default-character-set=utf8'

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

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


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


2、用mysqlbinlog --no-defaults mysql-bin.000009 命令打开。