通过SSH和Navicat连接到Serverpilot上的MySQL



>有人在vps上使用ServerPilot,并且能够通过SSH连接到MySQL服务器吗?在其他服务器/面板上,我一直这样做,没有问题;但它不会连接到ServerPilot上的MySQL数据库(Navicat给出"SSH连接错误;超时")。我正在我的Windows台式计算机上使用Navicat,试图连接到我的远程ubuntu VPS数据库。

在我多年来尝试过的所有其他服务器/面板上,此配置始终有效:

常规选项卡:

  • 主机名/IP 地址:127.0.0.1(或"本地主机")
  • 端口:3306。
  • 用户名
  • :[数据库用户名,例如,由ServerPilot分配的用户名]
  • 密码
  • [数据库密码,例如,由 ServerPilot 分配的密码]

SSH 选项卡:

  • 主机名/IP 地址:[我的 VPS 的主 IP]
  • 端口:22(在远程VPS上)[22似乎是ServerPilot中的正确端口,因为Putty可以在该端口上登录]
  • 用户名:root [或ServerPilot服务器上的"服务器飞行员"]
  • 密码
  • :[我的VPS的根SSH密码;或ServerPilot服务器上的"服务器飞行员"SSH密码]

根据 https://serverpilot.io/community/articles/connect-to-mysql-remotely.html,这也应该与ServerPilot一起使用。但事实并非如此。

我还尝试单独打开一个 SSH 隧道 每 https://support.cs.wwu.edu/index.php/Tunneling_MySQL_ports_through_SSH#Tunneling_with_PuTTY_in_Windows_.28Older.29 腻子.对于其他服务器/面板上的数据库,Navicat 以这种方式完美地连接到 MySQL。但当数据库在ServerPilot上时则不然(在Navicat中"测试"连接时,它会给出一个错误:"2013 - 查询期间丢失与MySQL服务器的连接")。

当然,我不是唯一一个尝试在ServerPilot服务器上连接到MySQL的人。如果你让它工作,或者如果你知道如何,请解释。(顺便说一句,phpMyAdmin在ServerPilot上运行良好,但是我发现Navicat在用php编程时对某些任务更方便。谢谢。

首先,如 https://www2.navicat.com/manual/online_manual/en/navicat/mac_manual/SSHSettings.html 所述,检查"AllowTcpForwarding"设置(应为"是" - 否则,SSH 端口转发将被禁用)在:/etc/ssh/sshd_config 中。如果编辑了该文件,请重新启动 SSH 服务。由于它是 Ubuntu,它将是:"service ssh restart"(而不是像其他一些 Linux 版本那样的"service sshd restart")。

如果 Navicat 仍然没有连接到连接到 ServerPilot 的 VPS 上的移除 MySQL 服务器,请撤消您对/etc/ssh/sshd_config 所做的任何更改(并重新启动 ssh)。您需要先在 PuTTY 中建立 SSH 隧道,而不是使用 Navicat 中的 SSH 设置进行连接。

在 PuTTY 中建立特殊的 SSH 隧道:如果上述第一步不起作用,请尝试此步骤。 您引用的cs-wwu站点中的说明不适用于带有ServerPilot的Ubuntu上的MySQL(即使它打开了可用于命令行操作的SSH终端连接)。相反,您需要遵循 2004 年 8 月 6 日评论中的方法 https://dev.mysql.com/doc/refman/5.7/en/windows-and-ssh.html 。这给出了基本的想法。在这里,我将逐步详细给出整个过程:

要将 Navicat 连接到 ServerPilot Ubuntu VSP 上的 MySQL,请在 PuTTY 中尝试以下设置:

1.在主会话屏幕中,输入以下内容:

主机名(或IP地址):serverpilot@123.45.678.90(输入VPS的IP地址)

端口:22

保存的会话:键入一个名称,例如 ServerPilot-MySQL

2.在左侧的类别窗格中,单击连接、SSH、隧道

在隧道屏幕中,输入以下内容:

源端口:4000(这可以是 Windows 计算机上尚未使用的高于 1024 的任何数字。我使用 4000,因为我的端口 3306 当前由我的本地 WAMP 服务器上的 mysql 使用)。

目的地: 本地主机:3306

3.单击"添加"按钮。 现在,在"转发的端口"框中,您应该看到: L4000 本地主机:3306

4.返回"类别"窗格的顶部,然后单击"会话"。在"会话"屏幕中,单击"保存"按钮。

5.突出显示您刚刚保存在"保存的会话"框中的设置,然后单击"加载"按钮。然后单击"打开"。

现在 PuTTY 终端会说: 使用用户名"服务器飞行员"。 serverpilot@123.45.678.90的密码:

6.复制您的"服务器飞行员"用户的密码,并通过右键单击"密码"旁边的提示将其粘贴到 PuTTY 中。

现在,您已经从PuTTY打开了正确类型的SSH隧道。现在使用该隧道与 Navicat 连接。

与 Navicat 联系

建立新连接。在"连接属性"中,执行以下操作:

常规选项卡:在"常规"选项卡中,输入以下内容:

主机名/IP 地址:本地主机

端口:4000

用户名:由ServerPilot分配的mysql数据库用户

用户名:由ServerPilot分配的mysql数据库密码

在「SSH」標窲中,將勾號保留為未被选中,因此 Navicat 不會單獨嘗試透過 SSH 連接。它将依赖于PuTTY的SSH隧道。

返回常规选项卡,然后单击"测试连接"。它应该说连接成功。让我知道它是否适合您。

相关内容

  • 没有找到相关文章