今天,登陆数据库服务器的时候,出现了下面的错误:
1 [root@localhost app]# mysql -uroot -p 2 mysql: unknown variable 'character-set-client=utf8'
查了下my.cnf的配置文件,是在client段下面配置了这么一个选项,按道理来说,是不会有问题的呀,然后上网google了下,发现:
了解到这个是mysqlbinlog的一个bug。 既然client选项组里允许通过character_set_client选项设置客户端编码,为何自带的工具mysqlbinlog却不认识这个选项?
在这里即使不认识,那也用不着直接出错而退出运行,若是不认识这个选项那只要略过此选项(能给出个notice提示下不认识此选项则更好)继续运行岂不更好?
但是有一个问题是,我在mysqld段下面使用character-set-server = utf8是没有问题的。
因此,我的解决方案是:将上面的character_set_client=utf8进行注释了,然后再进行重启,这样登录进来的时候,只剩下client端的编码不是UTF8的,因此我们在使
用set global character_set_client=utf8;设置即可,这样的话整个数据库的编码全都是utf8的了。
1 Server characterset: utf8 2 Db characterset: utf8 3 Client characterset: utf8 4 Conn. characterset: utf8