经过一个小时的忙活,终于解决了linux下mysql中文乱码问题,特此记录一下,便于以后查阅
首先看下编码:登录mysql
看到两处latin1字符集,故需要修改字符集
第一步:复制出来原来的文件,mysql的版本不同,配置文件的名称也不同,此处只是总结两种,大家在看本文的时候切记注意版本
cp /usr/share/mysql/my-huge.cnf /etc/my.cnf (mysql 5.5)
cp /usr/share/mysql/my-default.cnf /etc/my.cnf (mysql 5.6)
其他版本请查阅度娘。
第二步:修改配置文件,使用vim编辑器也好,其他方式也行,此处记录下:
[client]
#password = your_password
port = 3306
socket = /var/lib/mysql/mysql.sock
default-character-set=utf8
# The MySQL server
[mysqld]
port = 3306
character-set-server=utf8
character-set-client=utf8
collation-server=utf8_general_ci
socket = /var/lib/mysql/mysql.sock
skip-external-locking
key_buffer_size = 384M
...
[mysql]
no-auto-rehash
default-character-set=utf8
# Remove the next comment character if you are not familiar with SQL
#safe-updates
蓝色部分是我加进来的
第三步:重启mysql服务
命令如下:service mysql stop service mysql start
上述第三步命令不一定好用,具体要看你配置情况,不同linux版本不一样的,所以重启即可
第四步:
原来新添加的数据库和表都得删除,因为都是在修改字符集之前加入的数据库和数据表都是不生效的,时间节点在修改字符集之前是不能用的!!!
一般都是在linux系统中安装mysql之后就会做这个操作了,都不等到不能用才修改的。读者切记,安装完mysql后就该做上面的操作了!!!