任何人在vps上使用ServerPilot并且能够通过SSH与Navicat连接到MySQL服务器?在其他服务器/面板上,我一直这样做,没有问题;但它不会在ServerPilot上建立与MySQL数据库的连接(Navicat提供“SSH连接错误;超时”)。我在我的Windows桌面计算机上使用Navicat,尝试连接到我的远程ubuntu VPS数据库。
在我多年来尝试过的每一台服务器/面板上,这种配置始终有效:
GENERAL标签:
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上运行正常,但我发现Navicat在php编程时对某些任务更方便。)谢谢。
答案 0 :(得分:0)
首先,如https://www2.navicat.com/manual/online_manual/en/navicat/mac_manual/SSHSettings.html所述,检查“AllowTcpForwarding”设置(应该是“yes” - 否则,将禁用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终端连接)。相反,您需要在https://dev.mysql.com/doc/refman/5.7/en/windows-and-ssh.html下的2004年8月6日评论中遵循该方法。这给出了基本的想法。在这里,我将逐步详细介绍整个过程:
要在ServerPilot Ubuntu VSP上将Navicat连接到MySQL,请在PuTTY中尝试以下设置:
1。在主会话屏幕中,输入:
主机名(或IP地址):serverpilot@123.45.678.90(放置您的VPS的IP地址)
端口:22
已保存的会话:输入名称,例如ServerPilot-MySQL
2. 在左侧的“类别”窗格中,单击“连接”,“SSH”,“隧道”
在隧道屏幕中,输入:
源端口:4000(这可以是1024以上尚未在您的Windows计算机上使用的任何数字。我使用4000,因为我的端口3306当前由我的本地WAMP上的mysql使用Windows上的服务器。)
目的地:localhost:3306
3. 点击“添加”按钮。现在,在Forwarded Ports框中,您应该看到:L4000 localhost:3306
4. 。返回“类别”窗格的顶部,然后单击“会话”。在“会话”屏幕中,单击“保存”按钮。
5. 突出显示刚刚保存在“已保存的会话”框中的设置,然后单击“加载”按钮。然后单击“打开”。
现在PuTTY终端会说: 使用用户名“serverpilot”。 serverpilot@123.45.678.90的密码:
6. 复制“serverpilot”用户的密码,然后在“密码”旁边的提示处右键单击鼠标,将其粘贴到PuTTY中。
现在您可以从PuTTY打开正确类型的SSH隧道。现在使用该隧道连接Navicat。
与Navicat联系:
建立新连接。在“连接属性”中,执行以下操作:
常规标签:在“常规”标签中,输入:
主机名/ IP地址:localhost
端口:4000
用户名:由ServerPilot分配的mysql数据库用户
用户名:ServerPilot分配的mysql数据库密码
在“SSH”选项卡中,不选中复选标记,因此Navicat不会单独尝试通过SSH连接。它将依赖于PuTTY的SSH隧道。
返回“常规”选项卡,然后单击“测试连接”。它应该说连接成功。让我知道它是否适合你。