今天因为一个自增ID原因,导致游戏活动部门玩家不能领取维护补偿,
于是来兴打算看看怎么回事,闲来打开binlog看看发现可能是字符集的原因吧不能直接查看,会出现乱码。
然后就想到了官方提供的mysqlbinlog,然后遇到如下问题:
mysqlbinlog: unknown variable 'default-character-set=utf8'
原因是mysqlbinlog这个工具无法识别binlog中的配置中的default-character-set=utf8这个指令。
3个方法可以解决这个问题
一 是在MySQL的配置
/etc/my.cnf中将default-character-set=utf8
修改为 character-set-server = utf8,
但是这需要重启MySQL服务,如果你的MySQL服务正在忙,那这样的代价会比较大。
二 是用mysqlbinlog --no-defaults mysql-bin.000004 命令打开
三 把/etc/my.cnf中的'default-character-set=utf8'字段屏蔽掉#,
用完mysqlbinlog再把屏蔽去掉,过程中不需重启DB