我有一个现在需要支持 4 字节字符(中文)的数据库。幸运的是,我已经在生产环境中安装了 MySQL 5.5。
所以我只想将所有 utf8_bin 归类为 utf8mb4_bin。
我相信除了一点存储开销之外,这种变化没有性能损失/收益。
我正在尝试将我的数据库转换为utf8mb4
遵循本指南。我已经设定:
[client]
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4
[mysqld]
init-connect='SET NAMES utf8mb4'
collation_server=utf8mb4_unicode_ci
character_set_server=utf8mb4
skip-character-set-client-handshake
Run Code Online (Sandbox Code Playgroud)
但价值character_set_client
并character_set_results
仍然不会改变utf8mb4。
mysql> SHOW VARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name LIKE 'collation%';
+--------------------------+--------------------+
| Variable_name | Value |
+--------------------------+--------------------+
| character_set_client | utf8 |
| character_set_connection | utf8mb4 |
| character_set_database | utf8mb4 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8mb4 |
| character_set_system | utf8 |
| collation_connection | utf8mb4_unicode_ci |
| …
Run Code Online (Sandbox Code Playgroud)