Linux下设置Mysql数据库编码

时间:2023-03-09 00:52:55
Linux下设置Mysql数据库编码

重装系统后,要装个mysql服务器,发现添加数据时,一直错误,查其原因,原来时编码问题。Google了一下,可都不太一样,可能时数据库版本问题吧。

查看数据库版本:

select version();

显示:'5.7.15-0ubuntu0.16.04.1'

官方文档:Mysql Document

1、查看数据库编码

show variables like 'character%';

显示结果:

character_set_client

utf8
character_set_connection utf8
character_set_database latin1
character_set_filesystem binary
character_set_results utf8
character_set_server latin1
character_set_system utf8
character_sets_dir /usr/share/mysql/charsets/
character_set_client为客户端编码方式;
character_set_connection为建立连接使用的编码;
character_set_database数据库的编码;
character_set_results结果集的编码;
character_set_server数据库服务器的编码;

只要保证以上四个采用的编码方式一样,就不会出现乱码问题。

2、设置数据库编码

分为两部分:设置数据库服务器编码和设置数据库编码

设置数据库编码比较简单,在创建数据库时,可以指定编码;

设置服务器编码的话,需要修改配置文件。配置文件路径为:/etc/mysql/mysql.conf.d

找到[mysqld],在后面添加如下代码后,重启服务器即可。

character-set-server=utf8
collation-server=utf8_general_ci

3、重启数据库

service mysql restart