使用 DataGrip 建立与 MySQL 的远程连接时出现问题

使用 DataGrip 建立与 MySQL 的远程连接时出现问题

我对这些东西很陌生,我熟悉命令行和 SQL 命令。我目前正在使用安装在我所在城市外的 Linux 服务器(Ubuntu 服务器)上的 MySQL 数据库。

在办公室,我使用 macOS 机器开发应用程序和管理服务器。目前,我使用命令在计算机和服务器之间移动数据scp,并使用该命令加载任何 SQL 脚本来更新远程数据库等。

我们最近正在使用 DataGrip,我想对其进行配置,但我无法进行。

有人能好心地向我解释一下简单的配置过程吗?

目前我知道:

  • MySQL 使用的监听端口,即 3306

  • 远程服务器的 IP 地址

  • 登录用户名和密码

我输入了这些信息,但 DataGrip 无法连接。我该如何检查哪里出了问题?我该如何了解我做错了什么?

抱歉,我的无知。

我尝试了两种方式连接,如下两张图。

在此处输入图片描述 在此处输入图片描述 在此处输入图片描述

我也尝试通过终端:

在此处输入图片描述

答案1

MySQL 是否正在监听远程服务器的公网 IP?远程服务器公网 IP 上的 3306 端口是否可以从外部访问?

很可能不会,这很好。

您需要做的是告诉 DataGrip 打开一个转发到服务器的 ssh 端口(隧道),然后打开与 MySQL 的连接。

看起来 DataGrip 无法通过 ssh 访问服务器。

尝试从 OSX 通过 ssh 进入你的服务器,如下所示:

 ssh -L 3306:localhost:3306 your-ssh-user@your-remote-host

如果您没有收到任何错误,请在 SSH/SSL 选项卡下输入以下信息:

Proxy Host: your-remote-host
Proxy User: your-ssh-user
Proxy Password: your-password

然后单击“测试连接”并验证没有出现任何错误。

请注意,通过 ssh 访问服务器的凭据是不同的来自您的 MySQL 凭证!

相关内容