今天试用mysqlbinlog居然报了这个错,没法继续执行,并且mysql也不认为是一个bug,晕!php
缘由:mysql
[client]下的选项会被全部客户端程序读取(但不包括mysqld),可是mysqlbinlog却不能识别default-character-set,而当客户端不能识别时就会报错并退出,不在继续执行。能够使用loose-variable_name=xxx来解决。web
三种解决方法:sql
1. 修改my.cnf,在[client]下注释或删除default-character-set=gbk;spa
2. 在命令行中加入--no-defaults开关,使用mysqlbinlog --no-defaults;命令行
3. 将default-character-set=gbk改成(不需重启):orm
[client]ci
loose-default-character-set=gbkget
这样,全部不能识别该变量的客户端程序(包括mysqlbinlog)都会忽略它,4.0.2以上版本有效;可是执行mysqlbinlog时仍是会有如下警告:it
Warning: mysqlbinlog: unknown variable 'loose-default-character-set=gbk'