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

学习者

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

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

常规选项卡:

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

SSH选项卡:

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

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

我还尝试根据https://support.cs.wwu.edu/index.php/Tunneling_MySQL_ports_through_SSH#Tunneling_with_PuTTY_in_Windows_.28Older.29分别使用Putty打开SSH隧道对于其他服务器/面板上的数据库,Navicat可以通过这种方式完美地连接到MySQL。但是,当数据库位于ServerPilot上时,则不是这样(当在Navicat中“测试”连接时,会出现错误:“ 2013-查询期间与MySQL服务器的连接丢失”)。

当然,我不是唯一尝试在ServerPilot服务器上连接MySQL的人。如果您可以使用它,或者知道如何使用,请进行解释。(顺便说一句,phpMyAdmin在ServerPilot上工作正常,但是当用php编程时,我发现Navicat更适合某些任务。)谢谢。

芒果堂

首先,如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)。除了需要在Navicat中连接SSH设置外,您还需要首先在PuTTY中建立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地址)[email protected](输入您的VPS的IP地址)

港口:22

保存的会话:输入名称,例如ServerPilot-MySQL

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

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

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

目的地:localhost:3306

3.单击“添加”按钮。现在,在“转发的端口”框中,您应该看到:L4000 localhost:3306

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

5.在“ Saved Sessions”框中突出显示刚刚保存的设置,然后单击“ Load”按钮。然后单击“打开”。

现在,PuTTY终端将说:使用用户名“ serverpilot”。[email protected]的密码:

6.复制“ serverpilot”用户的密码,然后在“ password”旁边的提示处单击鼠标右键,将其粘贴到PuTTY中。

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

与Navicat连接

建立一个新的连接。在“连接属性”中,执行以下操作:

常规标签:在“常规”标签中,输入以下内容:

主机名/ IP地址:localhost

港口:4000

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

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

在“ SSH”选项卡中,不要选中复选标记,因此Navicat不会单独尝试通过SSH连接。它将依靠PuTTY的SSH隧道。

返回到“常规”选项卡,然后单击“测试连接”。它应该说连接成功。请让我知道这对你有没有用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章