我正在尝试将我的Amazon RDS服务器从
当我运行以下命令时:
显然是不正确的,但是当我运行时:
utf8
编码转换为utf8mb4
编码。我已经按照这里的指南进行了操作,大部分情况下都成功了(全局变量通过我的新参数组在RDS中设置),但是我的系统变量没有正确设置,这意味着我无法使用新的编码。当我运行以下命令时:
SHOW VARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name LIKE 'collation%';
我明白了:
+--------------------------+--------------------+
| 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 |
| collation_connection | utf8_general_ci |
| collation_database | utf8mb4_unicode_ci |
| collation_server | utf8mb4_unicode_ci |
+--------------------------+--------------------+
显然是不正确的,但是当我运行时:
SHOW GLOBAL VARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name LIKE 'collation%';
我明白:
+--------------------------+--------------------+
| Variable_name | Value |
+--------------------------+--------------------+
| character_set_client | utf8mb4 |
| character_set_connection | utf8mb4 |
| character_set_database | utf8mb4 |
| character_set_filesystem | binary |
| character_set_results | utf8mb4 |
| character_set_server | utf8mb4 |
| character_set_system | utf8 |
| collation_connection | utf8mb4_unicode_ci |
| collation_database | utf8mb4_unicode_ci |
| collation_server | utf8mb4_unicode_ci |
+--------------------------+--------------------+
这是正确的,但出于某种原因,当我重新启动服务器时,这些全局变量并未设置。我可以在重启后手动正确地设置变量,但我不明白为什么它们最初没有设置。