无法登录新恢复的 AWS RDS 实例

无法登录新恢复的 AWS RDS 实例

我有一个脚本,可以从快照创建一个新实例,将其添加到我的安全组,设置主密码并将其设置为公开可用

在该过程的每个阶段我都会使用: aws rds wait db-instance-available --db-instance-identifier MY_IDENTIFIER

脚本的最后一部分需要连接到服务器并针对数据运行 SQL 脚本,但此时它会失败:

ERROR 1045 (28000): Access denied for user '[email protected]' (using password: YES)

我知道连接字符串是正确的,因为(一段时间后),我可以使用它并且无问题地连接!

我阅读了“Amazon RDS 故障排除”指南并确认我没有遗漏任何内容,此外,经过一段时间延迟后它确实连接的事实证明我的设置正确。

文档指出,当每个操作完成时,状态设置为“创建”,然后设置为“可用” - 我希望我的等待语句等到这一点。

我想知道在“可用”之后它是否会引发进一步的更改?有人遇到过这种情况吗?

答案1

aws rds wait db-instance-available 命令会等待数据库实例达到“可用”状态。但是,它不一定保证对实例的所有更改(例如安全组更新)都已完成或生效。
等待数据库实例变为“可用”后,在尝试连接到实例并运行 SQL 脚本之前,请增加一些额外的等待时间。这样可以为更改传播留出更多时间。

aws rds wait db-instance-available --db-instance-identifier MY_IDENTIFIER
sleep 60  # Wait for an additional minute (you can adjust this time as needed)

相关内容