是否有人在vps上使用serverpilot,并且能够通过ssh和navicat连接到mysql服务器?在其他服务器/面板上,我一直这样做,没有问题;但是它不会连接到serverpilot上的mysql数据库(navicat给出了一个“ssh连接错误;“超时”)。我正在windows桌面计算机上使用navicat,试图连接到我的远程ubuntuvps数据库。
在我多年来尝试的每一个其他服务器/面板上,此配置始终有效:
常规选项卡:
主机名/ip地址:127.0.0.1(或“localhost”)
端口:3306。
用户名:[数据库用户名,例如serverpilot分配的用户名]
密码[数据库密码,例如serverpilot分配的密码]
ssh选项卡:
主机名/ip地址:[我的vps的主ip]
端口:22(在远程vps)[22似乎是serverpilot中的正确端口,因为putty可以登录该端口]
用户名:root[或serverpilot服务器上的“serverpilot”]
password:[我的vps的根ssh密码;或者,serverpilot服务器上的“serverpilot”ssh密码]
根据https://serverpilot.io/community/articles/connect-to-mysql-remotely.html . 但事实并非如此。
我还试着用putty per单独打开一个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编程时,对于某些任务更方便。)谢谢。
1条答案
按热度按时间az31mfrm1#
首先,正如在https://www2.navicat.com/manual/online_manual/en/navicat/mac_manual/sshsettings.html 检查:/etc/ssh/sshd\u config中的“allowtcpfrowarding”设置(该设置应为“yes”--否则,ssh端口转发将被禁用)。如果编辑了该文件,请重新启动ssh服务。因为它是ubuntu,所以应该是:“serviceshsh restart”(而不是像其他linux版本那样的“servicesshd restart”)。
如果navicat仍未连接到连接到serverpilot的vps上的remove mysql服务器,则撤消对/etc/ssh/sshd_config所做的任何更改(并重新启动ssh)。与navicat中的ssh设置不同,您需要首先在putty中建立一个ssh隧道。
在putty中建立一个特殊的ssh隧道:如果上面的第一步不起作用,那么尝试这个步骤。你引用的cswwu站点中的说明不适用于带有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在左侧的category窗格中,单击connection、ssh和tunnels
在“隧道”屏幕中,输入以下内容:
源端口:4000(这可以是1024以上的任何数字,但您的windows计算机上尚未使用。我使用4000是因为我的端口3306当前由我的mysql在本地wamp服务器(windows)上使用。
目的地:localhost:3306
三。点击“添加”按钮。现在在转发端口框中,您应该看到:l4000localhost:3306
4返回到“类别”窗格的顶部,然后单击“会话”。在会话屏幕中,单击保存按钮。
5突出显示刚才保存在“保存的会话”框中的设置,然后单击“加载”按钮。然后单击“打开”。
现在putty终端将显示:使用用户名“serverpilot”。serverpilot@123.45.678.90的密码:
6复制“serverpilot”用户的密码,然后在“password”旁边的提示符处单击鼠标右键,将其粘贴到putty中。
现在您已经从putty打开了正确类型的ssh隧道。现在用那条隧道连接navicat。
连接navicat:
建立新连接。在连接属性中,执行以下操作:
常规选项卡:在“常规”选项卡中,输入以下内容:
主机名/ip地址:localhost
端口:4000
用户名:serverpilot分配给您的mysql数据库用户
用户名:serverpilot分配的mysql数据库密码
在“ssh”选项卡中,不选中复选标记,这样navicat就不会单独尝试通过ssh进行连接。它将依赖于putty的ssh隧道。
返回到常规选项卡并单击“测试连接”。它应该说连接成功。让我知道它是否适合你。