zoukankan      html  css  js  c++  java
  • mysql: unknown variable 'character-set-client=utf8'

    在同事安装的MySQL服务器上(居然安装的是My-SQL 5.1.73的老旧版本),登录MySQL时遇到下面“mysql: unknown variable 'character-set-client=utf8'”错误:

    [root@MySQLDB002 lib]# mysql -u root -p
     
    mysql: unknown variable 'character-set-client=utf8'

    检查MySQL的配置文件/etc/my.cnf发现

    [root@MySQLDB002 lib]# more /etc/my.cnf 
     
    [mysqld]
     
    datadir=/var/lib/mysql
     
    socket=/var/lib/mysql/mysql.sock
     
    user=mysql
     
    # Disabling symbolic-links is recommended to prevent assorted security risks
     
    symbolic-links=0
     
    default-character-set=utf8
     
    character-set-server=utf8
     
    [client]
     
    default-character-set=utf8
     
    character-set-client=utf8
     
    [mysql]
     
    default-character-set=utf8
     
    [mysqld_safe]
     
    log-error=/var/log/mysqld.log
     
    pid-file=/var/run/mysqld/mysqld.pid
     

    网上有资料说这个是mysqlbinlog的一个bug,但是搜索外文资料并没有搜索到相关信息,虽然还是并没有彻底弄明白原因,但是不妨自己验证了一下下面几种解决方面

     

    解决方法1:屏蔽character-set-client=utf8,此时连接MySQL语句没有问题。

    clip_image001

     

    解决方法2:使用loose-default-character-set=utf8 loose-选项,loose为宽松的, 散漫的, 自由的意思,在选项前加了loose-,则当程序不认识此选项时会略过此选项,并给出一个警告。测试亦可解决问题。

    clip_image002

     

    参考资料:

    http://outofcontrol.ca/blog/comments/change-mysql-5.5-default-character-set-to-utf8

    http://www.itokit.com/2011/1213/72763.html

     

  • 相关阅读:
    B轮公司技术问题列表(转)
    mysql函数之截取字符串
    谁才是真正的水果之王
    Mysql几种索引方式的区别及适用情况 (转)
    web安全之攻击
    css学习之样式层级和权重
    mysql中engine=innodb和engine=myisam的区别(转)
    mysql 创建表格 AUTO_INCREMENT
    mysql数据表的字段操作
    navicate使用小技巧
  • 原文地址:https://www.cnblogs.com/kerrycode/p/4859659.html
Copyright © 2011-2022 走看看