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

某次排查用户充值到账问题,想从主库的binlog中找一些线索,裸的binlog文件是无法直视的,mysqlbinlog这个工具是用来查看binlog文件内容的(使用方式man mysqlbinlog查看),但是使用mysqlbinlog将binlog文件转换成人类可读的内容时却报错:

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 -vv --base64-output=decode-rows mysql-bin.001831 >mysql-bin.001831.txt 命令打开

我使用的是二方法

 

作者:旧旧的 <393210556@qq.com> 解决问题的方式,就是解决它一次

-vv --base64-output=decode-rows mysql-bin.001831 >mysql-bin.001831.txt
posted @ 2020-02-27 13:19  WidgetBox  阅读(914)  评论(0编辑  收藏  举报