MYSQL远程访问php

时间:2013-09-17 21:24:40

标签: php mysql

我在托管服务器上有一个项目。它们非常不可靠,所以我决定搬到另一个主机。在此期间,我想将php文件保留在现有服务器上,并将它们指向我的rackspace服务器上的另一个MySQL数据库。我已在rackspace服务器上配置mysql以接受远程连接。我可以通过终端从家里的ubuntu成功连接到它。但是,每次托管服务器上的php文件尝试连接到它时,我都会收到以下错误:

这是php中的代码....

mysql_pconnect("1.2.3.4","user","password")
or die("Unable to connect to SQL server".mysql_error());

这是错误/输出

  

无法连接到SQL ServerLost连接到MySQL服务器期间   查询

为什么我可以通过终端而不是从php连接的任何想法?

由于

2 个答案:

答案 0 :(得分:0)

检查wait_timeout。在移动时将其设置为较高的数字。

答案 1 :(得分:0)

如果连接被立即拒绝,则旧的或新的托管服务提供商会阻止连接,或者您在用于连接的用户帐户上遇到主机掩码问题。您可以尝试fsockopen()尝试直接连接,以查看如果您无法访问旧主机上的命令行mysql客户端以确定连接是否被拒绝,以尝试识别这些是哪种情况。如果它在超时后被阻止,那么它几乎肯定是一端或两端的防火墙策略。

但是,我可以这样说:

a)不推荐使用mysql_函数,因此您可能还应该考虑升级到mysqli或pdo等。

b)除非你告诉你使用什么api来连接SSL或其他一些安全方法(在mysql_情况下它是MYSQL_CLIENT_SSL标志)你的数据(可能还有你的密码或它的一些变化,可能让攻击者连接因为你将不加密地浏览开放的互联网......当然,这需要一个SSL证书,或者在中间攻击中容易受到攻击,所以...是的。