使用别名主机的 ssh 反向 mysql 隧道

ssh reverse mysql tunnel with a aliased host

我正在尝试通过 ssh 连接到我的服务器,然后在本地主机上访问 mysql,以便在实时测试时快速开发原型。

这是我在服务器中的连接:

mysql -h db_master_www -u game -D db_www -p

然后我设置我的隧道(sp 是我的 ssh 配置名称)

~ssh -N -L 3336:db_master_www:3306 sp

在我的本地机器上

hutber@hutber:~$ mysql -h db_master_www -u game -D db_www -p
ERROR 2005 (HY000): Unknown MySQL server host 'db_master_www' (-2)

所以逻辑上我需要使用我的主机作为 ip 而不是别名?

当您使用 ssh 隧道将本地端口 3336 映射到远程端口 3306 时,您将在本地连接到 3336:

mysql -h 127.0.0.1 -P 3336 -u game -D db_www -p

确保使用 127.0.0.1,而不是“localhost”,因为对于 MySQL 客户端来说,它们是不一样的。