我正在尝试更改AWS RDS mysql实例的字符集。
默认情况下,字符集如下
+--------------------------+-----------------------------------------------+
| Variable_name | Value |
+--------------------------+-----------------------------------------------+
| character_set_client | ascii |
| character_set_connection | ascii |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | ascii |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /rdsdbbin/oscar-5.6.10a.31.59/share/charsets/ |
+--------------------------+-----------------------------------------------+
我尝试使用'set character_set_client = utf8',它运行时出现任何错误,但字符集保持不变。
此外,当我使用alter命令更改表的字符集和排序规则时,它不能更改字符集或排序规则。
我不确定是否可以在不重新启动实例的情况下更改字符集。
我发现这对我有用:
alter database [database_name] CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE [database_name].[table_name] CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE [database_name].[table_name] CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;