最近几天我遇到了一个奇怪的问题,即RDS上的php无法连接到mysql,而手动连接很好。
所以我有几个 php 脚本位于我们托管在 EC2 上的服务器上,客户端调用这些脚本与 RDS 上的 mysql 服务器进行通信。脚本已设置,因此如果发生任何连接错误,它们会向我发送电子邮件通知。
所以最近几天我收到了数千封来自我的脚本的错误电子邮件,在最初的几天里,错误很简单,说服务器主机无法识别,但我确信地址是正确的。现在错误几乎都是说“由于许多连接错误,主机 XXX 被阻止,使用 mysqladmin flush-hosts 解除阻止......”如果我刷新主机,错误会在一段时间后返回给我。
最让我困惑的是,我无法重现该问题!我尝试通过命令行和测试 php 脚本从我的 EC2 服务器连接到 RDS 服务器……它们都可以工作!如果我手动调用向我发送错误电子邮件的脚本,它们也可以工作!查看 RDS 监视器,所有统计数据看起来都正常,CPU 在 50% 左右反弹,并且硬盘空间充足。
所以我现在完全糊涂了......谁能给我一些关于如何解决这个问题的见解?我现在都不知道在哪里看...