Linux上修改mysql 的字符集

本文只针对于mysql版本为5.6.25版本,别的版本没有实践,只提供一般的解决办法。

一般先检查数据库的字符编码,

登陆:mysql  -uroot -p你的密码

然后输入:show variables like '%character%'; 查看数据库的编码。

接下来就是修改之路:

mysql数据库是5.6版本的,可以按照如下步骤去操作:

第一步:在命令行输入如下命令去查找后缀名为 .cnf 的文件

find / -iname '*.cnf' -print

会查到如下文件:每个电脑不一样,但有主要的文件就可以咯,我的电脑只有:

usr/my.cnf

/usr/share/mysql/my-default.cnf

/usr/share/doc/MySQL-server-5.6.25/my-default.cnf

/etc/pki/tls/openssl.cnf

/var/lib/mysql/auto.cnf

第二步:把my-default.cnf拷贝到 /etc/my.cnf

命令:cp /usr/share/doc/MySQL-server-5.6.25/my-default.cnf  /etc/my.cnf 

含义:/usr/share/doc/MySQL-server-5.6.25/my-default.cnf 拷贝到/etc下 并命名为:my.cnf

第三步:打开该文件,命令如下,然后在里面添加相应的字符集

vi /etc/my.cnf 

接着点击 i 进如编辑模式

然后:在[mysqld]上边添加

[client]  

default-character-set=utf8

在[mysqld]下边添加:

character-set-server=utf8

接着 按 esc  接着输入 :wq 保存退出。

第四步:重启mysql 服务:命令:service mysqld restart

第五步:重新查看字符编码就会发现已经改变了。

show variables like '%character%';

 

如果mysql版本不是5.6.25那么就可以按照如下步骤去执行:

第一步:在命令行输入如下命令去查找后缀名为 .cnf 的文件

find / -iname '*.cnf' -print

会查到如下的目录:(每个人的电脑显示的不一样,但是主要文件在就可以)

/etc/my.cnf
/usr/share/mysql/my-small.cnf
/usr/share/mysql/my-large.cnf
/usr/share/mysql/my-innodb-heavy-4G.cnf
/usr/share/mysql/my-huge.cnf
/usr/share/mysql/my-medium.cnf
/usr/share/doc/mysql-server-5.5.18/my-small.cnf
/usr/share/doc/mysql-server-5.5.18/my-large.cnf
/usr/share/doc/mysql-server-5.5.18/my-innodb-heavy-4G.cnf
/usr/share/doc/mysql-server-5.5.18/my-huge.cnf
/usr/share/doc/mysql-server-5.5.18/my-medium.cnf

第二步:拷贝my-small.cnf、my-medium.cnf、my-huge.cnf、my-innodb-heavy-4G.cnf 其中一个到 /etc/my.cnf 下

命令如下:cp /usr/share/mysql/my-medium.cnf  /etc/my.cnf 

含义:把/usr/share/mysql/my-medium.cnf 拷贝到/etc下 并命名为:my.cnf

第三步:打开该文件,命令如下,然后在里面添加相应的字符集

vi /etc/my.cnf 

接着点击 i 进如编辑模式

在[client]下添加

default-charater-set=utf8

在[mysqld]下添加
collation_server = utf8_general_ci
character_set_server = utf8

接着 按 esc  接着输入 :wq 保存退出。

第四步:重启mysql 服务:命令:service mysqld restart

第五步:重新查看字符编码就会发现已经改变了。

show variables like '%character%';

 

需要说明的是:如果是基于之前的编码创建的数据库,估计插入中文输入还是会发生中文乱码问题,可以把之前的数据库删掉,然后重新创建数据库,并指定字符编码为UTF-8。

 

 

 

 

 

 

 


版权声明:本文为Mr_excellent_coder原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。