-3

我使用 MySQL 和 node.js 实现开发了一个 PHP 应用程序。我正在尝试连接到我的生产数据库,如下所示:

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。

有谁知道它不起作用的原因是什么?

4

2 回答 2

0

有不止一种可能性。一些忠告:

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

旁注,从 PHP 5.5.0 开始不推荐使用 mysql 扩展,并将在未来删除。相反,应该使用 MySQLi 或 PDO_MySQL 扩展。

于 2013-10-12T17:49:23.810 回答
-3

问题是防火墙规则。

当您通过 Phpmyadmin 连接时,您通过 Web 界面进行连接,并且 Phpmyadmin 在内部连接到 localhost。

  1. 检查您的本地 ip 或您要连接的服务器的 ip。
  2. 确保将参数绑定地址更改为:绑定地址 = 0.0.0.0 = 0.0.0.0
于 2019-05-15T13:17:48.417 回答