使用别名主机的 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 客户端来说,它们是不一样的。
我正在尝试通过 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 客户端来说,它们是不一样的。