2013-03-22 124 views
4

上的MySQL服务器所以我有一个PHP文件托管在Namecheap服务器上。无法连接到'ipaddress'(110)

$db=mysql_connect ("ipaddress", "user", "pass") or die ('I cannot connect to the database because: ' . mysql_error()); 

,它给这个错误:因为

我无法连接到数据库:无法连接到MySQL服务器上的“ip地址”(110)

我可以连接到该数据库使用网络外的mysql工作台就好了。

+1

...你没有连接到'ipaddress' ..你是吗?另外,'mysql_'函数已被弃用。使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/mysqli) - [这篇文章](http://j.mp/QEx8IB)将帮助你决定哪一个。 – Kermit 2013-03-22 17:34:10

+0

尝试连接到127.0.0.1?假设服务器和DB在同一个盒子上? – Doon 2013-03-22 17:37:12

+0

对不起,我没有清楚地说出来。但Namecheap站点和MYSQL DB不在同一个网络上。 – 2013-03-22 19:50:59

回答

4

如果你正在使用MySQL的数据库解决方案(这似乎很奇怪,因为IIS的Windows Server操作系统上使用)

试运行(作为root):

GRANT ALL ON Database.* TO [email protected]'IPAddress' IDENTIFIED BY 'PASSWORD';

哪里第二个是您授予的权限,这是一个占位符全部

这将允许从您指定的IP连接

另外一个问题是从您的网络内部连接到您的MySQL引擎,您将自然地从内部IPV4地址(例如192.168.0.x)连接,这不需要portforwarding。但如果您正在使用:

mysql_connect('WANIP', 'User', 'password');您将不得不将端口3306转发到您的服务器。 http://www.portforward.com寻求帮助。

编辑:

http://dev.mysql.com/doc/refman/5.0/en/can-not-connect-to-server.html

本课程的手册,如果您使用Microsoft SQL Server检查此链接了这个可以提供一些援助


http://blogs.msdn.com/b/walzenbach/archive/2010/04/14/how-to-enable-remote-connections-in-sql-server-2008.aspx

+0

是我已经完成了这项工作: GRANT ALL ON *。* TO用户名@'%'IDENTIFIED BY'PASSWORD'; 今天晚些时候我可以试试你的命令。我也会查看其他链接。我只是不明白为什么我可以连接使用工作台,而不是从非现场服务器(namecheap)通过PHP。 – 2013-03-22 19:52:09

+0

@AlMcKenzie您使用的是内部IPV4地址吗?或WANIP? – 2013-03-22 21:39:58

6

我遇到过这个问题。我所做的是使用互联网地址,而不是您的公共IP/DNS。

因为我使用的是Linux,所以我会做ifconfig,你会看到inet addr: xxx.xxx.xxx.xxx并使用该IP作为你的主机而不是公共IP/DNS。在Windows上,只需使用您的本地IP地址即可。

就是这样!

0

我在我的服务器上安装opencart时遇到了这个问题。当我使用Windows服务器时,它需要网站/域的IP地址。现在当转移到Linux主机,Linux主机指定为本地主机并完成。我可以安装opencart

相关问题