mysql错误2005 - 未知的MySQL服务器主机'localhost'(11001)

14
我使用的是mysql 5.6.11版本。通常会出现以下错误信息:
2005 - 无法识别的MySQL服务器主机'localhost'(11001)。
目前我的解决方法是关闭网络,然后问题就会恢复正常。我已经搜索了很多资料,但没有找到相关的答案。所以,有人知道原因吗?

你尝试过在网络上ping本地主机吗? - Himanshu Bhardwaj
希望这篇文章能对您有所帮助:http://faq.webyog.com/content/23/17/en/error-no-2005-unknown-mysql-server-host.html - user2045846
@Himanshu Bhardwaj:谢谢你的回答!明天出现错误时我会尝试一下。 - user2388626
@Sam:谢谢你的回答,但是我没有在那篇文章中找到答案,再次感谢。 - user2388626
1
@cogsmos:今天我找到了一个可能导致MySQL无法连接的原因,另一个应用程序依赖于网络也被关闭了,然后我使用127.0.0.1连接到MySQL数据库,它可以工作。所以我认为这似乎是一个DNS问题,但我不太熟悉它,你呢?顺便说一下,谢谢你的帮助。 - user2388626
显示剩余4条评论
5个回答

19

错误 2005(HY000):未知的MySQL服务器主机“localhost”(0)

修改系统中主机名列表:

C:\Windows\System32\drivers\etc\hosts

确保您有以下条目:

127.0.0.1 localhost
在我的情况下,该条目为0.0.0.0 localhost,导致了所有问题

(您可能需要更改修改此文件的权限)

这将执行将主机“localhost”解析为IP地址127.0.0.1的DNS解析。


1
这个问题是在SQL Server Migration Assistant for MySQL中生成的。你的帮助解决了它!谢谢。 - InfZero
3
另一个可能性是:如果您有多个MySQL实例,并且第二个实例位于不同的端口上,则mysql无法智能解析“-h 127.0.0.1:3307”,因此您需要使用“--port = 3307”。 - Brain2000
@Brain2000非常感谢您提供了一个不仅仅是Windows特定的,而且有效的答案! - Tobias Feil

2

今天我也遇到了这个错误,按照之前描述的做法尝试修复,但都没有成功。于是我决定查看核心问题并登录到 Windows 7 上的 MySQL 根目录,然后采取了以下解决方法:

  1. Go to folder:

    C:\AppServ\MySQL
    
  2. Right click and Run as Administrator these files:

    mysql_servicefix.bat
    
    mysql_serviceinstall.bat
    
    mysql_servicestart.bat
    
然后关闭整个资源管理器窗口,重新打开它或清除缓存,然后再次登录phpMyAdmin。

0
我遇到了同样的错误:
错误 2005 (HY000):未知的 MySQL 服务器主机 '%' (11001)
因为对于 'john'@'%',我使用了 -h '%' 来登录到 MySQL,如下所示:
mysql -u john -h '%' -p

所以,我改用如下所示的-h '',然后就能成功登录到MySQL了。
mysql -u john -h '' -p

0

情况就像这样:

 mysql connects will localhost when network is not up.
 mysql cannot connect when network is up.

您可以尝试以下步骤来诊断和解决问题(我猜测是其他服务阻止了mysql所在的端口):

  1. 断开网络连接。
  2. 停止mysql服务(如果是Windows,请尝试从services.msc窗口停止)
  3. 连接到网络。
  4. 尝试启动mysql并查看是否正确启动。
  5. 无论如何都要检查系统日志,以确保启动mysql服务时没有错误。
  6. 如果一切顺利,请尝试连接。
  7. 如果失败,请尝试执行telnet localhost 3306并查看输出内容。
  8. 尝试更改mysql托管的端口(默认为3306),您可以将其更改为未使用的其他端口。

这应该理想地解决您面临的问题。


我会按照你的步骤操作,真心希望能解决我的问题,感谢你的时间! - user2388626
我已经遵循了您的建议,我发现了一些问题(通过第5步),但最终它没有起作用。我希望您能阅读我的帖子,这是我对Cogsmos的回复。谢谢。 - user2388626
我建议您首先使用mysql自带的客户端来验证上述测试,而不是使用第三方客户端。也许只是客户端引起了问题。 - Himanshu Bhardwaj

0

按照以下步骤修复此错误: 使用\connect root@127.0.0.1而不是\connect root@localhost

如果不起作用,请转到C:\ Windows \ System32 \ drivers \ etc \ hosts并检查附加到主机名的IP地址。 使用该IP,因此它将是。 \connect root@您找到的IP地址


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