连接到远程MySQL服务器 – 连接被拒绝

所以,我试图与位于数字海洋主机(Ubuntu)上的远程MySQL服务器交谈时遇到问题。 我的另一个主机是IPOWER,但是他们的SQLfunction不是很好,所以我想在IPOWER上的PHP文件与Digital Ocean上的MySQL数据库交谈。

我不断收到错误,“连接拒绝”,但是。

这是从IPOWER方面看起来的样子:

mysqli_connect('$myDigitalOceanIP', '$myUserName', '$myPassword', 'database', '3306');

在数字海洋方面,我做了以下工作:

  • 解除了端口3306上的防火墙和IPTables限制

  • 在MySQL中创build了一个新用户,该用户符合具有可以从任何IP连接的“select”,“插入”和“更新”权限的$ myUserName。

  • 刷新MySQL控制台的权限并重新启动MySQL和Apache服务

  • 证实MySQL正在侦听端口3306。

  • 编辑my.cnf文件,以便bind-address被注释掉,以便可以接受本地主机之外的连接。

所有这一切,我仍然被拒绝连接。 请按照我的方式提出其他build议!

另外,有没有我应该看的错误日志? Apache的访问和错误日​​志让我什么都没有,我找不到SQL错误日志。 我必须以某种方式启用它吗?

事实certificate,我做的一切正确,问题是在IPOWER方面。 我有一个朋友远程连接到数字海洋上的SQL服务器,他在五秒钟内就这样做了。

这里的教训是不要让客户select主机,也不要使用像IPOWER这样的蹩脚主机,这表明您将PHP降级并无故干涉远程连接。

按照问题中提到的步骤,只要他们使用允许他们自己configuration选项的主机,而不是有意尝试去混淆它们,就应该为将来的任何人解决这个问题。