MySQL无法路由到主机,mysqli_connect(): (HY000/2002)

3
我正在尝试在Mac OS X 10.9(Mavericks)上安装BugZilla。我在MySQL配置方面遇到了问题。
我已经从DMG镜像 mysql-5.6.14-osx10.7-x86_64 中安装了MySQL。MySQL似乎已经安装并成功运行。我创建了一个名为bugs的用户和一个名为bugs的数据库。我确认可以使用命令行终端从 bugs 用户名和密码登录到MySQL,并访问bugs数据库。
但是,安装BugZilla时连接MySQL失败并出现错误。我尝试了一个简单的测试,并编写了这个php文件:
<?php
// Create connection
$con=mysqli_connect(“localhost”,”bugs”,”********”,”bugs”);

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

但在第3行中失败,显示以下警告信息:

警告: mysqli_connect(): (HY000/2002): No route to host in /Users/bugzilla/Sites/test_my.php on line 11 连接MySQL失败:无路由到主机

为什么我可以通过命令行连接,但无法通过php连接?


3
在调用mysqli_connect时,将引号从“更改为"。 - user4035
糟糕!你是对的。好的,这解决了我的测试文件问题,并意味着我一直在追逐一个无用的东西,以解决为什么我的BugZilla安装失败的问题。 - Kenny
@user4035:该死的“智能引号” :-P - gen_Eric
1
@Kenny 尝试使用 127.0.0.1 而不是 localhost。 - Lelio Faieta
2个回答

1
我们遇到了这个错误,因为我们的vagrant环境使用的ip子网与数据库服务器的子网相同。我们需要在不同的子网上重新创建数据库服务器。

0

我刚刚遇到了一个类似的问题,但看起来是另一个问题。我也遇到了同样的错误:

Failed to connect to the database, please check your credentials: No route to host

我们最终发现问题是由于数据库的磁盘空间已满(我们的服务器管理员有段时间请假了,我们自动创建快照,但只有定期手动删除它们。几天后,快照占用了整个服务器的空间,导致其无法响应)。

我不知道这是否会成为解决此问题的答案,但如果有人遇到相同的错误,希望这可以帮到他们。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接