本文介绍在Ubuntu 16.04系统下配置 MySQL 的字符编码。
安装完 MySQL 后,系统默认的字符编码是 latin1,输入的是中文,可是输出却是一堆乱码。现在要做的就是把 MySQL的默认字符编码设置为支持中文的编码:utf8。(需要Ubuntu 18.04下安装MySQL 8服务器教程的请参考:https://ywnz.com/linuxysjk/1645.html)
首先进入MySQL存放配置文件的目录,执行ls查看此文件夹下的文件:
这里有个my.cnf文件,此文件是mysql的配置文件,用vim打开此文件:
vi my.conf
打开后文件内容如下:
文件的最后两行又引用了其他的两个配置文件,我们需要修改的是mysqld.conf,这是mysql服务端的基础配置文件。
用vim打开/etc/mysql/mysql.conf.d/mysqld.conf文件,在[mysqld] 的skip-external-locking下,添加character-set-server=utf8,如果提示不可编辑,则切换到root账户。
下面我们还要去设置客户端的默认编码,现在进入mysql客户端配置文件目录:
用vim打开,并在[mysql]下插入一行:default-character-set=utf8:
现在重启mysql服务,运行以下命令:
service mysql restart
最后进入mysql,用\s查看是否修改成功:
附1:查看编码
1.查看数据库编码
show variables like '%char%';
2.查看表编码
show create table ;
例:show create table user;
3.查看字段编码
show full columns from ;
例: show full columns from user;
附2:修改编码格式
1.修改数据库编码格式
alter database character set utf8;
例:alter database db_user character set utf8;
2.修改表编码
alter table character set utf8;
例: alter table user character set utf8;
3.修改字段编码
ALTER TABLE MODIFY COLUMN CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
例:ALTER TABLE user MODIFY COLUMN name VARCHAR(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
相关主题