【问题标题】:Failing to connect to Sequel Pro with '127.0.0.1', but can connect via terminal with 'localhost'无法使用“127.0.0.1”连接到 Sequel Pro,但可以使用“localhost”通过终端连接
【发布时间】:2021-09-20 12:59:17
【问题描述】:

我有一个在 Docker 上运行的项目,我可以通过终端连接到数据库:

mysql -h localhost -P 33060 --protocol=tcp -u 'notmyrealusername' -p 

这很好用,我可以显示数据库中的表。

但是,当尝试通过 SequelPro 连接时,我收到以下错误:

Unable to connect to host 127.0.0.1, or the request timed out.

Be sure that the address is correct and that you have the necessary privileges, or try increasing the connection timeout (currently 10 seconds).

MySQL said: Protocol mismatch; server version = 11, client version = 10

注意项目运行在 MySQL 5.7.34 上,我电脑上的版本是 8.0.23。

操作系统:Mac OS Catalina

我尝试过的:

来自this thread,我也尝试过使用2200 的端口,而且,SequelPro 不会让我使用 127.0.0.1。所以,我无法尝试第二个。

我还向 'notmyrealusername'@'127.0.0.1' 和 'notmyrealusername'@'localhost' 授予了所有权限,但这似乎也没有解决问题。

回答菲利普的问题:

  • 是的,如果我尝试mysql -h 127.0.0.1,我会得到同样的错误:

ERROR 2007 (HY000):协议不匹配;服务器版本 = 11,客户端 版本 = 10

问题: 有谁知道如何在 SequelPro 上连接到“localhost”而不是“127.0.0.1”,或者为什么我似乎无法在 SequelPro 上连接到这个数据库,当使用相同的数据时,我可以通过终端轻松连接?

提前感谢您提供的所有帮助/建议!

谢谢!

【问题讨论】:

  • 你试过mysql -h 127.0.0.1,或者配置Sequel Pro使用localhost吗?
  • 感谢您的回复@Philippe。我试过mysql -h 127.0.0.1,但我得到同样的错误ERROR 2007 (HY000): Protocol mismatch; server version = 11, client version = 10 你如何配置Sequel Pro 以使用本地主机?如果我尝试,它会促使我使用套接字连接或 127.0.0.1

标签: mysql macos sequelpro


【解决方案1】:

我终于找到了解决办法。对于任何想知道的人,这里的关键是我正在使用 Docker。在这种情况下,正如this forum post 中所述,我们需要:

使用运行数据库的机器的 IP 地址( 真实的,而不是本地主机)作为主机地址。

怎么做?

  • 转到您的终端并使用命令 ifconfig 。您将获得大量数据,但您要查找的是本地网络 IP 地址。这通常看起来像 192.x.x.x 或 10.x.x.x。

  • 然后,在 Sequel Pro 或您使用的任何 GUI 中,使用此地址 (192....) 而不是 localhost。

我希望这可以帮助某人并节省您的时间:)

编码愉快!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-25
    • 2022-01-10
    • 1970-01-01
    • 2012-08-26
    • 2020-11-19
    • 1970-01-01
    相关资源
    最近更新 更多