【问题标题】:Navicat - lost connection to mysql server at 'reading initial communication packet', system error: 0Navicat - 在“读取初始通信数据包”时失去与 mysql 服务器的连接,系统错误:0
【发布时间】:2015-03-17 00:22:25
【问题描述】:

当我尝试在 Navicat 中通过 SSH 公钥连接到我的 MySQL 服务器时,我收到了上面列出的错误。我一直在无休止地寻找解决方案。我已确保启用 AllowTCP 选项,并尝试将主机名设置为 localhost 和 127.0.0.1,但它们都不起作用,它只会将错误更改为 Connection Refused。

这是我的连接属性:

(常规选项卡) 主机名/IP 地址:mydomain.com 端口:3306 用户名:我的用户名 密码:我的密码

(SSH 选项卡) 主机名/IP 地址:mydomain.com(也尝试过 localhost/127.0.0.1) 端口:3850(这是正确的端口) 用户名:我的用户名 认证方式:公钥 私钥:C:\Path\To\My\Key 密码:mySSHpassword

我知道这可能没有多大帮助,因为除了端口之外实际上没有任何“设置”,我知道这是正确的。

我在运行 SequelPro 的 Macbook 上运行这些完全相同的凭据,它运行完美,所以我不知道为什么我无法通过 Navicat 在我的 PC 上运行它。

感谢您提供的任何帮助。

【问题讨论】:

  • 对我来说同样的问题,macbook 上的 sequelPro 还可以,但我 win 上的 navicat 是“失去与 mysql 服务器的连接”。

标签: mysql ssh navicat


【解决方案1】:

我能够使用 SSH 将我的 Navicat 从我的 OS X (MacBook) 连接到我的 Rackspace MySql 数据库。

关键是“常规”选项卡中的设置。我必须将 HostName/IP 设置为 MySql 服务器的远程名称。

[identifier-from-the-mysql-hostname-instance].rackspaceclouddb.com 然后是为我的 MySql 数据库定义的用户名和密码。

之前回复中描述的 SSH 与我的设置相匹配。

【讨论】:

    【解决方案2】:

    “常规”选项卡将设置为 localhost(或 127.0.0.1),用户名和密码将是数据库凭据,而不是主机凭据。

    那么 SSH 选项卡将是您的主机,其用户名密码用于 ssh 到主机。应该是普通的 ssh 端口 22。

    【讨论】:

    • 感谢您的回复,我回家后会尝试此解决方案并通知您。我的 Sequel Pro 的 SSH 端口是 3850,我还应该使用 22 端口吗?
    • 对于 SSH 端口,如果你只是正常地通过 SSH 连接到盒子,你应该使用你会使用的任何端口。就像如果你只是去一个命令行你会做ssh username@host。这默认使用端口 22。如果您使用不同的端口(例如,对于端口 2212,您将使用 ssh 使用:ssh -p2212 username@host)然后使用该端口。
    猜你喜欢
    • 2011-08-10
    • 1970-01-01
    • 2011-10-09
    • 2011-11-23
    • 2015-06-29
    • 2011-07-07
    相关资源
    最近更新 更多