2013-10-12 112 views
-3

我开发了一个带有MySQL和node.js实现的PHP应用程序。 我试图连接到我的生产数据库这样的:mysql_connect()失败 - 错误(4)

mysql_connect('54.212.117.38', 'root', '********'); 

这是我得到的错误:

Could not connect: Can't connect to MySQL server on '54.212.117.38' (4) 

不得不提的是,我可以通过浏览器直接到达phpMyAdmin的。

此外,在本地主机上应用程序连接到MySQL没有问题。 我也尝试重新启动Apache服务器,关闭Node.js过程...

顺便说一句 - 我的生产服务器正在运行Ubuntu。

有没有人有一个想法是什么原因,它不工作?

+1

最有可能的是,MySQL配置为仅侦听本地主机连接(如果数据库主机直接连接到Internet,通常是一个不错的主意) –

+0

大多数连接使用本地主机而不是ip –

+0

非常感谢,你帮了我很多,我只是改成了localhost,一切正常。 – omri

回答

0

有不止一种可能性。一些建议:

  • 确保该IP地址后面的mysql服务器正在运行并接受连接。
  • 确保用户可以从您的客户端访问ip。
  • 检查一下,如果连接过程可能过长(在这种情况下,您可以尝试增加connect_timeout)。
  • 如果没有其他帮助,请跟踪客户端和服务器之间的流量。也许防火墙有点过于激进(我曾经这么做过,用户root触发了IDS规则......)。

从旁边看,mysql扩展从PHP 5.5.0开始已弃用,并且将来会被删除。相反,应该使用MySQLi或PDO_MySQL扩展。

+0

也很重要:远离'mysql_connect()' – DaGardner