我的服务器上有一个 php 脚本,客户端应用程序会调用该脚本将一些信息记录到远程 mysql 服务器中。该脚本运行正常,但偶尔(只是偶尔)会连接失败。
我设置了脚本,当连接失败时向我发送错误邮件,并且我从 mysql_error() 收到以下错误:
Unknown MySQL server host '[myDBhostaddress]' (2)
其中 [myDBhostaddress] 当然是我的数据库主机的正确地址。大多数情况下,脚本都能正常工作,因此我认为地址或登录凭据没有错误。
我尝试重现该问题,但没有成功。我可以从本地计算机(服务器计算机)登录到我的 mysql 服务器。从命令行连接有效,测试 php 脚本有效,手动调用向我发送错误邮件的脚本也有效!
我现在对这个问题很困惑,因为我不知道该如何处理它。我甚至不知道问题的原因。会不会是mysql服务器过载了?会不会是入侵者的攻击?
如果有帮助的话,我的 php 脚本位于 Amazon 的 EC2 中,mysql 服务器位于 Amazon 的 RDS 中。
答案1
您应该尝试使用数据库服务器的 IP 地址,而不是其 FQDN,此错误是临时 DNS 解析问题。如果您使用 IP,则数据库客户端根本不需要执行 DNS 查找。