【问题标题】:How to connect to database through SSH using DataGrip如何使用 DataGrip 通过 SSH 连接到数据库
【发布时间】:2019-07-13 16:32:49
【问题描述】:

要使用命令行正确连接和设置,我“只需”要做:

  1. ssh <MY_USERNAME>@<URL> -L 1139:arcade:139
  2. 输入<MY_PASSWORD>
  3. psql -h postgres
  4. \c ift2935
  5. set search_path to inscriptions_devoir;

但是,我一直很想使用比命令行更复杂的工具来探索数据库并尝试不同的 SQL 命令。作为JetBrains 的粉丝,我决定试试DataGrip

我确实读过the actual help page,但它没有提供我需要的信息。

我缺乏对行话的理解,无法了解我必须输入的不同行与我应该在DataGrip 中输入的实际字段名称之间的对应关系。

我的问题很简单:我在哪里输入什么内容?

【问题讨论】:

标签: sql postgresql ssh jetbrains-ide datagrip


【解决方案1】:

我也遇到过这个问题。所以想向其他人解释我是如何做到的。例如,您的远程服务器 IP 地址是 192.128.11.120。大多数情况下,在隧道中 localhost/127.0.0.1 被用作主机 IP 地址,因为在这种情况下,localhost ip 被设置为 mysql 配置中的绑定地址。

这里是设置使用 SSH 隧道连接到 MySQL 的分步指南。

1 - 转到 SSH/SSL 选项卡并选择“使用 SSH 隧道”

2 - 单击并执行 shift+enter 或单击三个点 [...] 打开 SSH 配置。从那里单击 + 号以添加新配置。使用您的远程服务器 ssh 配置填写表单。

  • 如果您只使用一个 ssh 密钥对,请选择“OpenSSH 配置和身份验证代理”作为身份验证类型。ssh 密钥对选择以下
  • 如果您使用多个密钥对或想要使用特定文件,请选择“密钥对(OpenSSH 或 Putty)”作为身份验证类型,并选择您用于连接远程服务器的私钥文件作为私钥文件。

然后单击“测试连接”以测试 SSH 配置是否正确。如果有效,请单击“应用”和“确定”保存。

现在为 DataGrip 配置了 SSH。

3 - 转到“常规”选项卡以添加 MySQL 相关条目。要记住的一件事是,大多数时候绑定地址在 MySql 中设置为 localhost/127.0.0.1 以使其在远程服务器上安全,仅启用 ssh 连接。在这种情况下,远程 ip(在这种情况下为 192.128.11.120)将不起作用。所以,使用 127.0.0.1。点击测试连接,检查 MySQL 连接是否通过 SSH 工作。

4 - 如果有效,请单击“应用”和“确定”保存。

【讨论】:

  • 感谢这个简单的解决方案
  • 如何将 unix 套接字连接添加到 SSH 隧道?
【解决方案2】:

想通了!

SSH 内容已正确设置。最顶部的 Name 字段错误。

对于名为<DB_NAME>MySQL 数据库,这将是输入(第一张图片用于SSH 信息,第二张用于General 信息):

(忽略最初的问题是关于 PostGreSQL 的事实。总体思路保持不变。)

【讨论】:

  • 看起来不像解决方案,你的截图有不同的主机,我知道为什么名字很重要。
  • @exts 它与“SSH/SSL”选项卡中列出的主机相同。您正在查看“常规”标签。
  • 请在以后的问题中隐藏 UdeM URL。您可以将其更改为具有代表性的内容,但这为可能的不良行为者提供了攻击面。
  • @malavv 哦,你是对的!那时我还是一个年轻的学生,并没有真正意识到这些安全威胁。我会尽快更新图片。
【解决方案3】:
  • 我尝试了@aimme 的答案,它几乎成功了,我需要做的一些不同的事情如下。
    • 确保在 SSH 配置部分点击“测试连接”以确保 SSH 配置按预期工作。
    • 在“常规”部分使用“postgres”作为用户和密码。
    • 在“常规”部分使用“5432”作为端口。

【讨论】:

    猜你喜欢
    • 2019-02-12
    • 1970-01-01
    • 2016-10-25
    • 1970-01-01
    • 1970-01-01
    • 2013-08-06
    • 2020-10-31
    • 2014-07-20
    • 2021-10-03
    相关资源
    最近更新 更多