Linux centos7 mysql设置字符集
提要
系统 centos7
数据库 mysql 5.7.30
终端 xshell
登录进mysql后
显示数据库所有编码集
# 查看字符集所有编码
\s
查看数据库编码, 使用模糊匹配到character开头的所有编码集
show variables like "character%";
可以看到里面有两个latinl (拉丁文) 的编码格式
单个数据库修改方式
# 新建数据库
create database db1;
# 查看db1数据库详细信息
shwo create database db1;
图片可以看出新建的数据库默认变就是latinl(拉丁文) 编码格式
设置字符编码
在新建的db1 数据库中修改字符编码, 这个只是修改单个数据库, 新建后还是使用默认的字符编码
# 选择db1 数据库
use db1;
# 设置字符编码为utf8mb4
set character_set_database = utf8mb4;
set character_set_server = utf8mb4;
这样就可以完成对库修改字符编码了
从配置文件里修改, 启动自动加载字符编码集
linux: vim /etc/my.cnf
j将下列代码写入配置文件中
[mysqld]
collation-server=utf8_general_ci
character-set-server = utf8
[client]
default-character-set = utf8
[mysql]
default-character-set = utf8
重启mysql
service mysql restart
查看字符编码
完成 skir
使用到的命令
# 查看数据库信息
\s
# 查看数据库编码
show variables like "character%";
# 设置当前session的database编码
set character_set_database = utf8;
# 设置当前session的server编码
set character_set_server = utf8;
# 设置global的database编码
set global character_set_database = utf8;
# 设置global的server的编码
set global character_set_server = utf8;
# 新建数据库
create database demo;
# 查看数据库编码
show create database demo;
# 设置表的编码
alter table t_demo character set utf8;
# 设置表中字段的编码
alter table t_demo convert to character set utf8 collate utf8_general_ci;