开发环境
Ubuntu 16.10
mysql: 5.7.17
设置默认编码格式
[mysql]
default-character-set=utf8
安全更新, 防止全表更新
SET sql_safe_updates=1;

SET sql_safe_updates=1, sql_select_limit=500, max_join_size=1000000;

关于 test 数据库
默认情况下,mysql.db表中包含的行表示任意用户可以访问test数据库和test_开头的数据库。
这些行的User字段的值为空,表示匹配任意用户。
这意味着这些数据库(test数据库和test_开头的数据库)默认可以被任意用户使用(即使没有权限的用户)。
设置数据库编码 set names utf8; ^1
mysql> show variables like "character_set_%";
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| 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/ |
+--------------------------+----------------------------+
8 rows in set (0.05 sec)
mysql>
在默认情况下,mysql字符集为latin1,而执行了
set names utf8;以后,character_set_client、character_set_connection、character_set_results等与客户端相关的配置字符集都变成了utf8,但character_set_database、character_set_server等服务端相关的字符集还是latin1。
Mysql的utf8其实是阉割版utf-8编码,Mysql中的utf8字符集最长只支持
三个字节
如果你需要Mysql支持四字节的utf-8,可以使用 utf8mb4 编码。