一尘不染

通过SSH隧道的MySQL连接-如何指定其他MySQL服务器?

mysql

我已经在不同的主机名上设置了约50个数据库,并要求我通过SSH隧道连接到它们。

例如:

  • SSH主机位于 ssh.example.com

  • MySQL主机位于 mysql1.example.com

我已经设法使用autossh(运行Debian的Web服务器)创建隧道,但是我似乎无法弄清楚如何连接到SSH隧道之外的特定MySQL主机名。

键入lsof -i -n | egrep '\<ssh\>'确认隧道正在运行(将端口3307发送到ssh.example.com端口3306)

所以当我尝试时,mysql -h 127.0.0.1 -P 3307我会拒绝连接。不太奇怪,因为它不是MySQL服务器。

我对你们的问题:

mysql1.example.com创建SSH隧道后如何指定主机?我曾尝试到处搜索,但似乎无法弄清楚。


阅读 304

收藏
2020-05-17

共1个答案

一尘不染

解决了!事情是在创建隧道本身时连接到正确的服务器-应该已经看到一台即将到来的服务器。

ssh -f user@ssh.example.com -L 3307:mysql1.example.com:3306 -N

然后mysql -h 127.0.0.1 -P 3307按预期工作。:)

2020-05-17