所以,我试图与位于数字海洋主机(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选项的主机,而不是有意尝试去混淆它们,就应该为将来的任何人解决这个问题。