本文主要介绍RDS MySQL如何保证数据库字符编码正确。
阿里云提醒您:
- 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。
- 如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。
- 如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。
字符集是数据库设计过程中需要详细考虑的一点,您需要根据业务场景、用户数据等方面来综合考虑。
use [$DB_Name];
show variables like '%character%';
说明:[$DB_Name]为数据库名。系统显示类似如下。
说明:
- 以上参数必须保证除了character_set_filesystem外的参数都统一,才不会出现乱码的情况。
- character_set_client、character_set_connection以及character_set_results是客户端的设置。
- character_set_system、character_set_server以及character_set_database是服务器端的设置。
- 服务器端的参数优先级是character_set_database > character_set_server > character_set_system。
set names [$Character_Set]
说明:[$Character_Set]为字符集。
ALTER DATABASE [$DB_Name] CHARACTER SET = [$Character_Set] COLLATE = [$Rules];
说明:[$Rules]为字符集规则。
说明:修改character_set_server参数需要重启实例,建议在业务低峰期进行操作。
说明:该参数修改后,仅对开启高权限账号的实例后,创建的数据库有效,对当前数据库无效。