首页 > 解决方案 > DataGrip MySql 连接超时 - tableplus+cli 都可以立即工作

问题描述

我正在尝试使用 DataGrip 连接到 MySql 数据库,但由于超时,它会无休止地失败。

我已经成功地与 TablePlus 以及通过在 cli 中手动 SSH 和使用 mysql 进行了近乎即时的连接。

访问安排在我的笔记本电脑:计算机A,网关机器:计算机B,和数据库机器:计算机C之间,结构:

A-->B-->C

我的凭据都存在且正确,并且已检查并重新输入,如下所示:

GENERAL
Host: localhost
Port: 3306
User: <username>
Password: <password>
Save: Forever
Database: <database name>

SSH/SSL
Proxy host: C<.url.tld>
Proxy port: 22
Proxy user: <username>
Local port: 3306
Auth type: Key pair (OpenSSH or PuTTY) 
Private key file: <path to ssh key>
Passphrase: <password>
Remember: Forever

另外,我的 ssh 配置:

Host *
  AddKeysToAgent yes
  UseKeychain yes
  IdentityFile ~/.ssh/id_rsa

Host B<.url.tld>
   ForwardAgent yes
   User <username>

Host *<url.tld> !B<url.tld>
   ProxyJump B<.url.tld>
   User <username>
   ForwardAgent yes

日志只是记录

com.intellij.execution.ExecutionException: SSH: Error connecting to remote host C<.url.tld>: Operation timed out (Connection timed out)

一次又一次地对完全相同的错误进行很好的冗长Java堆栈跟踪。

我已经尝试过多次更改设置中的详细信息并反复遇到相同的错误 - 唯一的区别是如果我故意输入错误的 ssh 密钥密码,它会要求重新正确输入。

到底是怎么回事?如何解决此问题并连接到数据库?

标签: mysqlsshssh-tunneldatagrip

解决方案


推荐阅读