无法在' ipaddress'上连接到MySQL服务器(4)(2003)

时间:2014-06-19 23:15:36

标签: mysql remote-access

$mysql_host    = "myipaddress";
$mysql_user    = "user";
$mysql_pass    = "password";
$mysql_db      = "mydb";   

 $con = mysqli_connect($mysql_host, $mysql_user, $mysql_pass, $mysql_db);

// Check connection
if(mysqli_connect_errno()) {
   echo "Failed to connect to MySQL: " . mysqli_connect_errno() ." ". mysqli_connect_error();
}

我也使用phpStorm并使用相同的配置(ipaddress而不是localhost)它连接到数据库(数据库在我的本地系统上; phpmyadmin)。

我在本地使用phpmyadmin。我可以使用他们的界面和本地主机连接也很好。在PHPStorm我设置了本地和远程连接。本地使用localhost,而远程使用我的系统外部世界IP地址。我可以使用PhpStorm中的两种方法访问数据库。

然而,当我将上面的代码放在php文档中并在远程服务器上运行它来访问我的本地数据库时,就像我有phpstorm一样,我得到了错误。

当我尝试通过telnet(win7)ping 3306时,我得到了山墙文本和“收到了无序的数据包。连接主机丢失了。”再次使用相同的信息,我可以使用phpstorm连接。怎么了?

1 个答案:

答案 0 :(得分:1)

嗯,您可能需要检查几件事。

  1. 很可能你的防火墙正在过滤到端口3306的外部连接.phpStorm和phpMyAdmin连接正常,因为它们在同一台机器上运行。
  2. 检查您的MySQL服务器是否实际上正在侦听连接 你的真实IP。它可能只在localhost上收听。
  3. 如果您在路由器后面,则需要将3306前移到您的路由器 正在运行MySQL服务器的实际机器。