Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 正确设置所有内容后无法远程连接到MySQL_Php_Mysql_Database Connection - Fatal编程技术网

Php 正确设置所有内容后无法远程连接到MySQL

Php 正确设置所有内容后无法远程连接到MySQL,php,mysql,database-connection,Php,Mysql,Database Connection,我在远程连接MySQL数据库时遇到问题 我目前的设置如下:我有一台windows 2008服务器在工作,放在固定IP路由器后面。路由器在服务器上配置了DMZ,这对于我测试过的所有其他东西都非常好,包括web服务器、VPN、FTP等。。。服务器的防火墙对相应端口上的必要服务开放。我可以远程登录到所有这些端口 我唯一无法工作的事情就是远程连接到MySQL数据库。我已经完成了以下所有工作: 通过DMZ将端口3306转发到服务器; 配置MySQL绑定到0.0.0.0:3306,不提供绑定地址时自动绑定;

我在远程连接MySQL数据库时遇到问题

我目前的设置如下:我有一台windows 2008服务器在工作,放在固定IP路由器后面。路由器在服务器上配置了DMZ,这对于我测试过的所有其他东西都非常好,包括web服务器、VPN、FTP等。。。服务器的防火墙对相应端口上的必要服务开放。我可以远程登录到所有这些端口

我唯一无法工作的事情就是远程连接到MySQL数据库。我已经完成了以下所有工作:

通过DMZ将端口3306转发到服务器; 配置MySQL绑定到0.0.0.0:3306,不提供绑定地址时自动绑定; 在MySQL中配置一个可以从localhost访问的用户帐户; 配置完全相同的用户帐户、相同的名称、密码和权限,并从“%”进行访问; 打开Windows服务器防火墙中的端口3306。 我随后尝试从internet上其他位置的托管web服务器执行PHP脚本:

<?php
// Create connection
$conn = new mysqli(<host>, <username>, <password>);

// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 
echo "Connected successfully";
?>
具有,并且是相应且正确的凭据

这个脚本只是在没有回复的情况下超时,并给出预期的错误连接失败:无法连接到110上的MySQL服务器。我也不能在端口3306上远程登录。从localhost连接工作正常

我不知道我还忘记了什么或做错了什么。我错过了什么

我需要此连接,以便将我的“备份系统”集中在托管的web服务器上。我可以在mysql主机上本地运行我的“备份系统”,但这使得从中心点管理它更加困难。除此之外,我想让它发挥作用,真正了解发生了什么。我讨厌这样的事情不起作用

感谢所有对可能出现的问题有想法的人


Kenneth

首先从运行此代码的计算机ping主机,然后继续telnet端口。我还假设您允许mysql服务器上的远程连接。这里我希望您不要使用192.168.50.254,因为它是私有ip。另外,在mysql服务器中启用详细连接日志记录,看看它是否检测到任何连接尝试?编辑:看这里,这给你带来了什么telnet192.168.50.254 3306?