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