前几天卸掉了用了好多年的Windows,安装了Ubuntu12.04,就开始各种搭环境。今天装好了MySQL5.5.22,正用着爽呢,突然发现里面的中文全部变成了乱码,于是便试着去修改配置,经查询
可以通过以下步骤修改:
$sudo gedit /etc/mysql/my.cnf
在里面
[client]下添加:
default-character-set=utf8
[mysqld]下添加:
default-character-set=utf8
然后就保存退出跟着大部队开始
$sudo service mysql restart
结果意外的发现跟大部队不一样,居然出现了Job failed to start
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
后来去看同学的配置,发现跟我的一模一样,但是他的能够正常运行,之后看到他的MySQL是5.2的,才发现可能是因为版本升级的原因,对于配置文件内的数据更改的方式不一样。于是果断上网查5.5以后的版本对字符编码方式修改的办法,才发现原来在[mysqld]下的修改已经发生了变化,正确方式如下:
[mysqld]下添加的应该为:
character-set-server=utf8
collation-server=utf8_general_ci
保存退出
$sudo service mysql restart
果然成功重启
$mysql
之后出现
mysql>
输入show variables like 'character%';
输出如下:
+-----------------------------------+-----------------------------------+
| Variable_name | Value |
+-----------------------------------+-----------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+------------------------------------+-----------------------------------+
8 rows in set (0.00 sec)
成功!
个人记性差,写博记下免得下次改配置耽误时间。同时供碰到同样问题的同学们参考,如果高手发现其中纰漏,还请指出并轻拍。