MySQL 5.5字符集问题


安装了个5.5版本的mysql,字符集出现了问题,之前的mysql服务器都是通过在my.cnf配置文件中进行配置便可,可是今儿怎么着都不行一直报错:

当时系统中也没有配置错误日志,所以只能是先配置下错误日志的位置,看看到底是哪里出错了:

  1. user            = mysql  
  2. pid-file        = /var/run/mysqld/mysqld.pid  
  3. socket          = /var/run/mysqld/mysqld.sock  
  4. port            = 3306  
  5. basedir         = /usr  
  6. datadir         = /var/lib/mysql  
  7. tmpdir          = /tmp  
  8. log-error=/var/log/mysql/error.log  
  9. lc-messages-dir = /usr/share/mysql  
  10. skip-external-locking  
  11. default-character-set=utf8  

结果查看了错误日志才发现是字符集的错误:

  1. [ERROR] /usr/sbin/mysqld: unknown variable 'default-character-set=utf8'  

居然不认识,上网上了找了下发现也有人遇到了,说是5.5中mysql不再使用default-character-set这种写法了。

具体请看:http://dev.mysql.com/doc/refman/5.5/en/server-options.html#option_mysqld_default-character-set

把default-character-set=utf8 改成: character-set-server=utf8就可以了。

  1. root@www.bkjia.com:/etc/mysql# vim my.cnf   
  2. root@www.bkjia.com:/etc/mysql# service mysql start  
  3. mysql start/running, process 5904  
  4. root@www.bkjia.com:/etc/mysql# mysql -uroot -p  
  5. Enter password:   
  6. mysql> show variables like 'character%';  
  7. +--------------------------+----------------------------+  
  8. | Variable_name            | Value                      |  
  9. +--------------------------+----------------------------+  
  10. | character_set_client     | utf8                       |  
  11. | character_set_connection | utf8                       |  
  12. | character_set_database   | utf8                       |  
  13. | character_set_filesystem | binary                     |  
  14. | character_set_results    | utf8                       |  
  15. | character_set_server     | utf8                       |  
  16. | character_set_system     | utf8                       |  
  17. | character_sets_dir       | /usr/share/mysql/charsets/ |  
  18. +--------------------------+----------------------------+  
  19. 8 rows in set (0.00 sec)  
OK收工了。

相关内容