我有一个运行在服务器上的PHP应用程序和它的MySQL数据库,该数据库包含安全密钥。
站点A远程连接到应用程序MySQL数据库以获取安全密钥,并且工作正常。但是,站点B返回MySQL连接超时错误。
因此,基本上一台外部服务器连接到数据库时没有问题,但其他服务器超时了。这是两个服务器上的完全相同的脚本,并且两个外部服务器都列在cPanel中。两台服务器在php.ini中设置相同的mysql连接超时值为60秒,站点B在大约5秒后返回超时错误。
知道是什么原因造成的吗?
发布于 2015-10-18 01:29:56
默认情况下,cPanel不允许远程连接到数据库以进行保护,您应该在允许的远程连接列表、数据库网站cPanel中添加两个远程服务器IP,或者允许所有IP的连接(仅限添加% )
另一件事可能会阻止连接如果你在服务器B上有一个CSF ( mysql安全和防火墙),那么你需要确认ConfigServer端口3306是允许的(你需要根级别,或询问服务器管理员)。
发布于 2015-10-18 01:53:02
阻塞端口导致超时。您可以通过以下命令重现它,该命令从要连接的服务器执行:
telnet hostname_or_ip 3306请参阅响应数据。没有回应吗?被封锁了。
其次:确保服务器的ip已被mysql列入白名单。
发布于 2015-10-18 01:41:36
如果您在服务器B上有远程登录访问权限,那么远程登录到MySQL,看看是否能得到响应。
还要检查站点B是否配置为使用与站点A相同的MySQL端口。您可能希望在脚本中显式指定它,以便覆盖已配置的默认值。
Lion4H也提出了一些非常好的信息。很可能是防火墙问题。
https://stackoverflow.com/questions/33188496
复制相似问题