Linux(Ubuntu)使用日记------Mysql编码(utf-8)的设置

时间:2023-03-07 10:43:44

Mysq版本:5.7.21

操作系统:Linux(Ubuntu)

整个操作的基本思路如下(包括问题的解决思路,想要直接解决问题的可以先看最后的命令总结)

检查mysql编码

找到Mysql的配置文件

修改配置文件

重启Mysql服务

1.检查mysql编码

在mysql控制台输入:show variables like 'character_set_%'; 如果不是如下图显示,那就需要修改Mysql的编码了

Linux(Ubuntu)使用日记------Mysql编码(utf-8)的设置

2.找到Mysql配置文件

Ubuntu下Mysql的配置文件是 /etc/mysql/my.cnf

其实Linux可以用下面这句命令找到配置文件

find / -iname *.cnf -print

但是我们发现这里面只有两句话

!includedir /etc/mysql/conf.d/

!includedir /etc/mysql/mysql.conf.d/

这和我们想得不太一样啊,我想估计是5.7版本把配置文件做了拆分,把不同职责的配置分别存放(不知道理解的对不对)

所以我们把这里写的两个配置文件夹下的文件分别打开,我们发现

/etc/mysql/mysql.conf.d/mysqld.cnf里的配置内容最多,貌似是我们需要找的。

3.修改配置文件

因为mysql5.7版本有点新,所以网上的一些配置还是有点不太可信的,但是我们可以在mysql的官网的文档中找到答案

官网文档:https://dev.mysql.com/doc/refman/5.7/en/

我们可以看到这里有一堆关于字符集的文档,其中有个 configuring application character set and collaion 的标题,我想着应该是我们需要的

Linux(Ubuntu)使用日记------Mysql编码(utf-8)的设置

其中有这么一句话,我想我们应该把这个配置写到我们的配置文件中。

Linux(Ubuntu)使用日记------Mysql编码(utf-8)的设置

4 重启mysql服务

service mysql restart

重新进入mysql查看,你会发现你的mysql编码已经配置好了

命令总结:

1 查看字符集:show variables like 'character_set_%'

2 修改配置:sudo gedit /etc/mysql/mysql.conf.d/mysqld.cnf

3 在[mysqld]下添加:

character-set-server=utf8

collation-server=utf8_general_ci

4 重启mysql:service mysql restart