

# RDS for MySQL 的密码验证
<a name="MySQL.Concepts.PasswordValidationPlugin"></a>

MySQL 提供 `validate_password` 插件以提高安全性。该插件使用数据库参数组中的参数为您的 MySQL 数据库实例实施密码策略。运行 MySQL 5.7、8.0 和 8.4 版的数据库实例支持该插件。有关 `validate_password` 插件的更多信息，请参阅 MySQL 文档中的[密码验证插件](https://dev.mysql.com/doc/refman/5.7/en/validate-password.html)。

**为 MySQL 数据库实例启用 `validate_password` 插件**

1. 连接到 MySQL 数据库实例并运行以下命令。

   ```
   INSTALL PLUGIN validate_password SONAME 'validate_password.so';                    
   ```

1. 在数据库实例使用的数据库参数组中为插件配置参数。

   有关参数插件的更多信息，请参阅 MySQL 文档中的[密码验证插件选项和变量](https://dev.mysql.com/doc/refman/5.7/en/validate-password-options-variables.html)。

   有关修改数据库实例参数的更多信息，请参阅[在 Amazon RDS 中修改数据库参数组中的参数](USER_WorkingWithParamGroups.Modifying.md)。

1. 重新启动数据库实例。

启用 `validate_password` 插件之后，请重置现有密码以遵循新的验证策略。

您的 MySQL 数据库实例会处理 Amazon RDS 的密码验证。要更改密码，您必须先通过 AWS 管理控制台、`modify-db-instance` CLI 命令或 `ModifyDBInstance` API 操作提交密码更新请求。即使密码不符合您的策略，RDS 最初也会接受您的请求。然后，RDS 会异步处理请求。只有当密码符合您定义的策略时，它才会更新 MySQL 数据库实例中的密码。如果密码不符合这些策略，RDS 会保留现有密码并记录错误事件。

```
    Unable to reset your password. Error information: Password failed to meet validation rules.            
```

有关 Amazon RDS 事件的更多信息，请参阅 [使用 Amazon RDS 事件通知](USER_Events.md)。