
# 数据库安全设置
#### 账户密码复杂度设置
RDS for MySQL Console端数据库密码复杂度，请参见[购买RDS for MySQL实例](https://support.huaweicloud.com/usermanual-rds-mysql/rds_10_0028.html)中的数据库配置表格。
RDS for MySQL对在客户端新创建的数据库用户，设置了密码安全策略：
- 口令长度至少8个字符。
- 口令至少包含大写字母、小写字母、数字和特殊字符各一个。
 
创建实例时，为用户提供了密码复杂度校验，由于root用户可以修改密码复杂度，安全起见，建议修改后的密码复杂度不低于RDS for MySQL的初始化设置。
#### 账户说明
您在创建RDS for MySQL数据库实例时，系统会自动为实例创建如下系统账户（用户不可使用），用于给数据库实例提供完善的后台运维管理服务。
![](https://support.huaweicloud.com/usermanual-rds-mysql/public_sys-resources/notice_3.0-zh-cn.png)
删除、重命名、修改这些账户的密码和权限信息，会导致实例运行异常，请谨慎操作。
- rdsAdmin：管理账户，拥有最高的superuser权限，用于查询和修改实例信息、故障排查、迁移、恢复等操作。
- rdsRepl：复制账户，用于备实例或只读实例在主实例上同步数据。
- rdsBackup：备份账户，用于后台的备份。
- rdsMetric：指标监控账户，用于watchdog采集数据库状态数据。
- rdsProxy：数据库代理账户，该账户在开通读写分离时才会自动创建，用于通过读写分离地址连接数据库时鉴权使用。
 
#### 设置密码复杂度
1. [登录RDS管理控制台](https://console.huaweicloud.com/rds/#/rds/management/list)。
2. 单击管理控制台左上角的![](https://support.huaweicloud.com/usermanual-rds-mysql/zh-cn_image_0000002593882307.png)，选择区域。
3. 在"实例管理"页面，选择指定的实例，进入"概览"页面。
4. 在左侧导航栏中选择"参数修改"，在"参数"页签修改如下参数。 
   **除validate_password.policy以外的参数，建议满足界面默认密码策略要求，否则会导致[修改管理员密码](https://support.huaweicloud.com/usermanual-rds-mysql/rds_reset_password.html)下发失败。**
   - 界面设置的默认密码策略如下：
     - 密码长度为8\~32个字符。
     
     - 至少包含以下字符中的四种：大写字母、小写字母、数字和特殊字符 \~ ! @ # $ % \^ \* - _ = + ? , ( ) \& . \|
      
   
   - 示例：设置"validate_password_length"值为40，不满足密码长度8\~32个字符，重置密码将会报错。
   
   
   **validate_password.policy参数控制密码支持的字符类型。**
   - 如果实例的参数模板是系统参数模板，所设置的密码长度为8\~32个字符，至少包含以下字符中的**四种**：大写字母、小写字母、数字和特殊字符 \~ ! @ # $ % \^ \* - _ = + ? , ( ) \& . \|
   
   - 如果实例的参数模板是自定义参数模板，支持的字符类型与validate_password.policy（8.0、8.4版本）或validate_password_policy（5.6、5.7版本）参数有关。
     - 参数值为LOW：所设置的密码长度为8\~32个字符，至少包含以下字符中的**三种**：大写字母、小写字母、数字和特殊字符 \~ ! @ # $ % \^ \* - _ = + ? , ( ) \& . \|
     
     - 参数值为MEDIUM：所设置的密码长度为8\~32个字符，至少包含以下字符中的**四种**：大写字母、小写字母、数字和特殊字符 \~ ! @ # $ % \^ \* - _ = + ? , ( ) \& . \|
      
   
   
   表1MySQL 8.0、8.4参数说明 
   | 参数                                   | 描述         | 取值范围                                                                                                                                                                                                                                                                                                               | 默认值    |
   |:---|:---|:---|:---|
   | validate_password.length             | 密码字符串最小长度。 | 0\~2,147,483,647 并且该值不能设置小于此表达式的值：validate_password.number_count + validate_password.special_char_count + (2 \* validate_password.mixed_case_count)                                                                                                                                  | 8      |
   | validate_password.mixed_case_count   | 最少大小写字符数量。 | 0\~2,147,483,647                                                                                                                                                                                                                                                                                                   | 1      |
   | validate_password.number_count       | 最少数字数量。    | 0\~2,147,483,647                                                                                                                                                                                                                                                                                                   | 1      |
   | validate_password.policy             | 密码强度策略级别。  | - LOW：只检查密码长度。  - MEDIUM：检查密码长度，字符个数，数字个数，特殊字符个数。  - STRONG：检查密码长度，字符个数，数字个数，特殊字符个数、密码字典文件。   | MEDIUM |
   | validate_password.special_char_count | 最少特殊字符数量。  | 0\~2,147,483,647                                                                                                                                                                                                                                                                                                   | 1      |
      
   表2MySQL 5.6和5.7参数说明 
   | 参数名                                  | 描述         | 取值范围                                                                                                                                                                                                                                                                                                                   | 默认值    |
   |:---|:---|:---|:---|
   | validate_password_length             | 密码字符串最小长度。 | 0\~2,147,483,647 并且该值不能设置小于此表达式的值：validate_password_number_count + validate_password_special_char_count + (2 \* validate_password_mixed_case_count)                                                                                                                                        | 8      |
   | validate_password_mixed_case_count   | 最少大小写字符数量。 | 0\~2,147,483,647                                                                                                                                                                                                                                                                                                       | 1      |
   | validate_password_number_count       | 最少数字数量。    | 0\~2,147,483,647                                                                                                                                                                                                                                                                                                       | 1      |
   | validate_password_policy             | 密码强度策略级别。  | - LOW：只检查密码长度。  - MEDIUM：检查密码长度，字符个数，数字个数，特殊字符个数。  - STRONG：检查密码长度，字符个数，数字个数，特殊字符个数、密码字典文件。   | MEDIUM |
   | validate_password_special_char_count | 最少特殊字符数量。  | 0\~2,147,483,647                                                                                                                                                                                                                                                                                                       | 1      |
      
   
   
5. 单击"保存"，在弹出框中单击"确定"，保存修改，参数修改立即生效。
 
