使用SSH隧道在DBeaver中连接远程数据库

14

我知道这个问题之前已经被问过了 (比如这里),但是我仍然没有找到解决办法,而且那些帖子都很老。

所以我能够通过SSH连接到远程数据库,然后像这样使用命令行:

// Putty SSH Connection
host: ssh.strato.de
port: 22
username: xxxxxxx 
password: xxxxxxx 

// connect to mysql with terminal
mysql -h rdbms -u xxxxxxx -p xxxxxxxx

如果我尝试在DBeaver中使用ssh隧道进行相同操作,则会出现连接错误。

输入图像描述

ssh隧道本身似乎是正常的。 如果我使用与上面相同的凭据并按“测试隧道配置”按钮,则会收到成功消息。

输入图像描述

我尝试了几个其他端口和主机选项(例如localhost,rdbms.strato.de等),这些选项是通过mysql show variables; show processlist; show user();找到的,但它们都未能奏效。
Strato支持告诉我只能用phpmyadmin内部连接到数据库或通过putty和mysql远程连接,但由于后一种方法可行,难道ssh隧道也不能工作吗?


我遇到了相同的问题,并且从服务器得到了相同的响应。我成功地创建了一个新的连接,使用MariaDb驱动程序而不是MySQL驱动程序,以获得一个可用的连接。 - savedario
你也使用Strato吗?能告诉我你的连接设置吗?我无法弄清如何正确地设置连接。 - link
不好意思,我使用了DBeaver的大部分默认设置。我只改变了我的设置中的主机端口,然后选择驱动程序就可以了。 - savedario
2个回答

23

Dbeaver - 使用SSH隧道连接数据库

  • 打开Dbeaver
  • 点击“新建数据库连接”,在接下来的“主要”窗口中输入相对于SSH服务器的MySQL服务器主机和运行端口,我的设置是默认值(localhost3306
    指定要连接的MySQL用户和用户密码。 dbeaver main
  • 在“SSH”部分,指定SSH主机、端口、用户以及所使用的身份验证方法,如SSH私钥 dbeaver ssh 测试连接并使用。

2
这也在DBeaver文档中列出:https://dbeaver.com/docs/wiki/SSH-Configuration/ - 他们还解释了端口转发和跳板服务器/网关服务器。 - icc97
我遇到的问题笔记:1)我使用了认证方法:代理(我在Linux上)。2)我正在使用AWS RDS,这需要设置高级>远程主机。3)通过高级>本地端口高级>远程端口进行端口转发:理论上应该是自动的,但我发现将它们都设置为预期的数据库端口(postgres的5432)很有用。 - icc97
我有完全相同的设置,但仍然出现上述错误。 - TheRealChx101
1
你可能需要在主选项卡中将localhost更改为127.0.0.1。 - ivangretsky

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接