我有一个在 AWS RDS 上运行的 MySQL 8.0.13 实例。AWS 文档称 MySQL 8.0.* 不支持 IAM DB 身份验证。这似乎是真的,但我的数据库不知何故启用了 IAM DB 身份验证。
从 Web 控制台,没有启用/禁用 IAM 身份验证的选项(我假设是因为 AWS 识别出该实例是 MySQL 8.0.13,因此它没有向我提供该选项)。
当我尝试从 Web 控制台修改数据库实例时出现此错误:
数据库实例中启用了 IAM 数据库身份验证,但请求中的新配置不支持该身份验证。(服务:AmazonRDS;状态代码:400;错误代码:InvalidParameterCombination;请求 ID:b6c909f7-b8db-4a5d-987f-9d715c2e5a6e)
因此,IAM DB 身份验证已启用(尽管在 MySQL 8.0.13 上不可能实现)并且我试图关闭删除保护,但是由于 IAM DB 身份验证已启用,因此它不允许我更改此配置中的任何内容。
因此我尝试从在 EC2 实例中运行的 AWS CLI......
aws rds modify-db-instance --db-instance-identifier mydbinstancename --apply-immediately --no-enable-iam-database-authentication
并出现以下错误:
调用 ModifyDBInstance 操作时发生错误 (InvalidParameterCombination):数据库实例中启用了 IAM 数据库身份验证,但请求中的新配置不支持该身份验证。
我正在尝试删除此数据库实例,因此我认为我需要做的是:
- 禁用删除保护
- 删除数据库实例
然而,我似乎需要做的是:
- 禁用 IAM DB 身份验证(不知何故......这阻止我禁用删除保护)
禁用删除保护
删除数据库实例
*请记住,我已经从根 AWS 账户和 IAM 用户账户尝试了所有这些操作。
答案1
您是否尝试过在不使用 IAM 身份验证的情况下禁用删除保护?
从 RDS > 数据库 1. 单击要修改的数据库的数据库名称超链接。 2. 单击右上角的“修改”按钮。 3. 取消选中页面最底部的“启用删除保护”复选框,然后单击“继续”按钮。 4. 选择适当的调度选项,然后单击“修改数据库实例”按钮。
您可以尝试通过单击“修改”并将引擎更改为 MySQL 8.0.15 或 16 来升级它吗? 更改引擎的屏幕截图