我遇到了最终用户无法连接到其 MySQL 服务器的问题。
事实:
- 客户端是企业域上的 Windows XP。组策略已禁用 Windows 防火墙,并且未安装其他防火墙软件。
- 该软件是MySQL自己的查询浏览器,v1.1.20,并且是允许安装的。
- 用户名和密码正确。
- 查询浏览器尝试连接时花费的时间比正常连接长,然后返回错误消息“
MySQL Error Number 2003 - Can't connect to MySQL Server on '
主机名' (10060)
“ - 查询浏览器可以毫无问题地“ping”服务器。
- 使用 Windows 自己的
telnet
命令手动连接成功,并且握手启动清晰可见。因此主机名在该 PC 上解析,并且不存在网络问题(例如路由)。 - 我们尝试重新安装查询浏览器,但没有成功。
- 服务器运行良好,其他需要连接的人(包括我自己)都可以成功连接,其中大多数人使用完全相同的版本。所以这是不是服务器问题。
谷歌搜索错误显示这是一个典型的不可用连接问题,并且很多链接显示修复对于服务器,但问题似乎完全出在查询浏览器的安装上,这毫无意义。因此 Google 也帮不上忙。
还有谁见过这个问题或者可以提供建议吗?
答案1
这可能不适用于 OP,因为他们的客户端运行在 Windows XP 企业域上,但我在 OSX/Unix 下也遇到过类似的问题,在 SSH 隧道配置正确的情况下遇到了 2003 错误。结果发现这是 MySQL 查询浏览器的一个特性:
请注意,在 *nix 操作系统(包括 Mac OS X)中,您必须使用 127.0.0.1 而不是“localhost”,否则连接将通过命名管道而不是 TCP 建立。 来源
我一直以为它们是完全同义词。一旦我进行了调整,一切都会按预期进行 - 希望这对某些人有所帮助。
答案2
我无法回答您的问题,但我可以说,在使用 Win XP 计算机之前,我也曾遇到过同样的情况。当时,Query Browser 无法连接到任何计算机上的 MySQL 服务器,包括本地实例。因此,我现在使用名为MySQL 前端。它不是免费的,但至少对我来说,它是值得的。
答案3
我可能已经找到了解决这个问题的方法。连接到 MySQL 服务器时,不要在 MySQL 查询浏览器中保存凭据和信息。而是在每次登录时重新输入它们。对我来说,这种方法适用于域中的每台计算机。
答案4
如果您使用 Windows XP,请转到网络适配器属性,卸载“Microsoft TCP/IP 版本 6”,然后重新启动计算机。