修改MySQL默认字符集

查看当前字符集

1.查看MYSQL数据库服务器和数据库字符集

mysql> 
mysql> show variables like '%character%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | utf8mb4                    |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | utf8mb4                    |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

mysql> 
mysql> 
mysql> 

mysql> 
mysql> show variables like 'collation%';
+----------------------+--------------------+
| Variable_name        | Value              |
+----------------------+--------------------+
| collation_connection | utf8_general_ci    |
| collation_database   | utf8mb4_general_ci |
| collation_server     | utf8mb4_general_ci |
+----------------------+--------------------+
3 rows in set (0.00 sec)

mysql> 
mysql> 
mysql> 

2.查看支持的字符集

show charset;

3.查看库的字符集

show database status from 库名 like 表名;

4.查看表的字符集

show table status from 库名 like 表名;

5.查看表中所有列的字符集

show full columns from 表名;
修改当前字符集

MySql的默认字符集设置在MySQL的my.cnf文件中,这个文件一般在/etc/mysql/my.cnf目录下。

直接修改文件

sudo gedit /etc/mysql/my.cnf

添加如下卷标和内容:

[client]
default-character-set=utf8mb4

[mysql]
default-character-set=utf8mb4

[mysqld]
character-set-server=utf8mb4

保存退出

重启MySQl

service mysql restart

查看配置是否生效

show variables like '%character%';
show variables like 'collation%';

※注意※
如果使用MySQL命令修改,在MySQL服务重启之后,设置会被还原,所以还是去该my.cnf吧。

 /*数据库客户端的编码*/ 
set character_set_client = utf8mb4; 
/*建立连接使用的编码*/ 
set character_set_connection = utf8mb4; 
/*数据库的编码*/ 
set character_set_database = utf8mb4; 
/*结果集的编码*/ 
set character_set_results = utf8mb4; 
/*数据库服务器的编码*/ 
set character_set_server=utf8mb4;

这里多说一点,
如果系统中要记录中文等数据,建议将字符集设置为utf8mb4。
转一篇说明一下 MySQL 字符集 utf8mb4。

你可能感兴趣的:(修改MySQL默认字符集)