下午在排查MySQL主从同步问题时,想从主库的binlog中找一些线索,裸的binlog文件是无法直视的,mysqlbinlog这个工具是用来查看binlog文件内容的(使用方式man mysqlbinlog查看),但是使用mysqlbinlog将binlog文件转换成人类可读的内容时却报错:
1
2
[root@gsxjfw3 log]# mysqlbinlog -v -v mybinlog.000011 > 1.sql
mysqlbinlog: [ERROR] 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 命令打开
mysqlbinlog 查看binlog时报错unknown variable 'default-character-set=utf8'
最新推荐文章于 2025-08-11 13:04:50 发布
本文介绍在使用mysqlbinlog工具查看MySQL binlog文件时遇到的错误:unknown variable 'default-character-set=utf8'及其解决方法。提供了两种解决方案,一种是修改MySQL配置文件中的字符集设置,另一种是通过命令行参数绕过默认配置。

4057

被折叠的 条评论
为什么被折叠?



