ill*_*ors 1 mysql amazon-web-services amazon-rds
我在RDS上运行MySQL数据库.我想改变我的所有编码utf8mb4.我在RDS上创建了一个参数组,其中包含所有character_set_*参数utf8mb4,将其分配给我的RDS实例,然后重新启动实例.但是,当我SHOW VARIABLES LIKE '%char%'在我的数据库上运行时,仍然存在latin1我不想要的值:
character_set_client latin1
character_set_connection latin1
character_set_database utf8mb4
character_set_filesystem binary
character_set_results latin1
character_set_server utf8mb4
character_set_system utf8
character_sets_dir /rdsdbbin/mysql-5.6.22.R1/share/charsets/
Run Code Online (Sandbox Code Playgroud)
同样,我在DB上创建的新列是latin1编码而不是utf8mb4编码的.我可以通过mysql命令行手动更改编码值,但这没有帮助,因为latin1当我推送到生产时,值也会重置为.
我认为这个问题是VARIABLES和GLOBAL VARIABLES之间的区别.
如果列出GLOBAL VARIABLES,这应该反映您在参数组中看到的内容:(假设您已按照Naveen的建议重新启动)
SHOW GLOBAL VARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name LIKE 'collation%';
Run Code Online (Sandbox Code Playgroud)
这与您在常规VARIABLES中看到的内容相反:
SHOW VARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name LIKE 'collation%';
Run Code Online (Sandbox Code Playgroud)
这些有时可以被连接中提供的选项覆盖.例如,使用选项--default-character-set进行连接:
mysql -h YOUR_RDS.us-east-1.rds.amazonaws.com -P 3306 --default-character-set=utf8 -u YOUR_USERNAME -p
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2042 次 |
| 最近记录: |