PHP 无法连接到 RDS 上的 MySQL


PHP cannot connect to MySQL on RDS

最近几天我遇到了一个奇怪的问题,即php无法连接到RDS上的mysql,而手动连接很好。

所以我有几个 php 脚本位于托管在 EC2 上的服务器上,这些脚本由客户端调用以与位于 RDS 上的 mysql 服务器进行通信。这些脚本的设置使得如果发生任何连接错误,它们会向我发送电子邮件通知。

因此,最近几天我从脚本中收到了数千封错误电子邮件,最初几天的错误很简单,说服务器主机无法识别,但我相信地址是正确的。现在错误几乎都说"主机XXX由于许多连接错误而被阻止,使用mysqladmin刷新主机取消阻止..."如果我冲洗主机,错误会在一段时间后回到我身边。

最让我困惑的是,我无法重现问题!我尝试通过命令行和测试 php 脚本从我的 EC2 服务器连接到 RDS 服务器......他们都工作!如果我手动调用向我发送错误消息的脚本,它们也可以工作!查看 RDS 监视器,所有统计数据看起来都正常,CPU 反弹约 50%,并且有足够的硬盘空间。

所以我现在完全糊涂了...任何人都可以为我提供有关如何解决此问题的一些见解吗?我现在什至不知道该看哪里...

您需要

检查与MySQL服务器的连接并检查错误。在此之前,您可以克隆"刷新主机"来临时解决问题。请注意,这只能用作临时修复。