我有一个脚本,可以从快照创建一个新实例,将其添加到我的安全组,设置主密码并将其设置为公开可用
在该过程的每个阶段我都会使用:
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 故障排除”指南,可以确认我没有错过任何内容,此外,它在一段延迟后确实连接的事实证明我的设置正确。
该文档指出,状态设置为“正在创建”,然后在每个操作完成时设置为“可用” - 我希望我的等待语句等到这一点。
我想知道“可用”后是否会发起进一步的更改?有人经历过这个吗?
aws rds wait db-instance-available 命令会等待,直到数据库实例达到“可用”状态。但是,它不一定保证对实例的所有更改(例如安全组更新)都已完成或生效。
等待数据库实例变为“可用”后,在尝试连接到实例并运行 SQL 脚本之前添加一些额外的等待时间。这允许有更多的时间来传播更改。