2012-07-09 177 views
0

我在运行MySQL服务器时出现问题,该服务器托管在不是Web托管服务器的另一台服务器上。目前我的网络服务器正在godaddy的免费Linux主机上运行。他们提供免费的MySQL数据库,但无法远程连接(Sequel Pro OSX程序),而无需为升级的托管计划付费。所以暂时我要在家中的服务器上托管数据库(XAMPP)。好了,每当我试图使用PHP的mysql_connect命令连接到数据库()我得到一个错误:Mysql远程连接

"Warning: mysql_connect() [function.mysql-connect]: Lost connection to MySQL server at 'reading initial communication packet', system error: 110" 

有人说113之前,(我相信)。

任何我绑定使用“绑定地址”并将其从12.0.0.1更改为我的局域网IP。它没有工作,或者我没有做对。所以,我能得到的任何帮助都会很棒。

仅供参考,我可以使用Sequel Pro从我的网络内部远程连接到数据库。但是,godaddy服务器无法连接。港口也是开放的,所以这不是问题。

+0

听起来像权限问题给我。你有没有授予去爸爸网站的所有权限来访问你的本地数据库?此外,作为一个小提示 - 使绑定地址'0.0.0.0'将使MySQL侦听所有接口。 – nonshatter 2012-07-09 14:18:52

+0

我试过了bind-address =“0.0.0.0”,什么都没有。没有工作。但谢谢你的时间。当我第一次安装XAMPP时,我更改了允许使用PHPMyAdmin在我的网络内进行远程连接的权限,并且它可以工作。不知道为什么它不在我的网络之外工作。 – Throdne 2012-07-09 14:24:06

回答

2

出一个GoDaddy的支持家伙的嘴,“我们共同的托管计划不给你有连接外部数据库的能力,如果你想拥有这个能力,你就可以d查看我们的服务器托管选项。“

所以,我的配置是正确的,它只是godaddy阻止它。瘸!感谢大家的帮助。

+0

这是正确的。Go Daddy托管不允许您连接到第三方数据库。 – 2012-07-09 19:12:26

1

如果您托管的数据库到家庭本地机器上,你也应该重定向路由器“XXX” TCP端口主机PC的3306 TCP端口。
请记住,您必须在端口“xxx”上连接到WAN IP。

  1. 您可以使用免费的DNS服务,如动态DNS映射你的互联网连接的名称(例如yourname.dyndns.org)
  2. 重定向你的路由器的端口(默认3306)到您的主机的3306 TC端口PC(内部)
  3. 从远程计算机连接到yourname.dydns.org:3306或端口,则路由器重定向
+0

并且连接到WAN(公共)IP,而不是内部LAN IP,以防发生了什么事情。 – 2012-07-09 14:20:09

+1

但是,不是MySQL托管在端口3306上? (啊,我看到你改变了端口,没关系我的问题) – Throdne 2012-07-09 14:24:43

+0

我认为“重定向路由器”的意思是“端口转发”。您也可能需要在主机PC上配置防火墙。 – 2012-07-09 14:28:33