我有一个运行在我的服务器上的PHP应用程序及其MySQL数据库,数据库包含安全密钥。远程MySQL连接超时
站点A远程连接到应用程序MySQL数据库以获取安全密钥并且没有问题。 但是,站点B返回MySQL连接超时错误。
所以基本上一个外部服务器连接到数据库没有问题,但其他时间了。它是两台服务器上完全相同的脚本,并且两台外部服务器都在cPanel中列出。两台服务器都有60秒的php.ini中设置的mysql连接超时值相同,站点B在大约5秒后返回超时错误。
任何想法可能会造成这种情况?
我有一个运行在我的服务器上的PHP应用程序及其MySQL数据库,数据库包含安全密钥。远程MySQL连接超时
站点A远程连接到应用程序MySQL数据库以获取安全密钥并且没有问题。 但是,站点B返回MySQL连接超时错误。
所以基本上一个外部服务器连接到数据库没有问题,但其他时间了。它是两台服务器上完全相同的脚本,并且两台外部服务器都在cPanel中列出。两台服务器都有60秒的php.ini中设置的mysql连接超时值相同,站点B在大约5秒后返回超时错误。
任何想法可能会造成这种情况?
默认情况下,的cPanel不允许远程连接到数据库的保护, 你应该添加两个远程服务器IP在允许远程连接列表,在db网站的cPanel,或允许所有IP的连接(添加%
只)
另一件事,如果你在服务器B上有一个CSF(ConfigServer安全&防火墙)可能会阻止连接,那么你需要确认MySQL端口3306
允许(您需要为根级别,或要求服务器管理员)。
如果您在服务器B上有Telnet访问,则telnet到MySQL并查看是否可以获得响应。
此外,请检查站点B是否配置为使用与站点A相同的MySQL端口。您可能希望在脚本中明确指定它,以便覆盖已配置的默认值。
Lion4H也提出了一些非常好的信息。很可能是防火墙问题。
阻塞端口会导致超时。您可以通过以下命令复制它,并从要连接的服务器中执行:
telnet hostname_or_ip 3306
查看响应数据。没有反应?阻止。
其次:确保服务器的ip被mysql列入白名单。
您是否已根据https://rtcamp.com/tutorials/mysql/remote-access/ – Peter
授予站点B对数据库的访问权限?好吧,因为我没有为站点A执行此操作,并且它工作正常,为什么站点B需要它吗? – Daryl