我试图将我的Amazon RDS服务器转换为使用utf8mb4
编码而不是utf8
。我遵循指南here,它已经在大部分工作(全局变量通过我在RDS中的新参数组来设置),但是我的系统变量设置不正确,这意味着我无法利用新的编码。Amazon RDS上的MySQL utf8mb4:全局变量设置正确,但未设置变量
当我运行:
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 |
+--------------------------+--------------------+
这是正确的,但由于某些原因,这些全局值在重新启动服务器时未设置服务器。我可以在重新启动后手动正确设置变量,但我不明白为什么他们最初没有设置。
我现在有同样的麻烦。你能告诉我如何解决它? – ykensuke9
@ ykensuke9在这里相同,请参阅我的回答澄清。 – KayakinKoder