我有一个只能通过内部网络 IP 10.*:3306 访问的 mysql 数据库,我想使用我的本地计算机最终设置 phpmyadmin 来管理它,但我首先只是尝试设置 SSH 隧道。我正在运行该命令, ssh -N admin@host_b_public_ip -L 3308:host_b_internal_ip:3306
但该命令只是挂在我的终端上。如果我打开另一个终端并尝试mysql -P 3308 -u root -p
输入 host_b 的 mysql root 密码,我会被拒绝。有没有什么方法可以测试我的连接是否打开?这个命令是否应该在阻塞终端模式下运行,还是它没有正确执行?我在这里尝试做的事情是否可行?
答案1
- 尝试一下
ssh -f -N *etc*
。这-f
会使 SSH 命令在后台运行。 - 尝试
mysql -h 127.0.0.1 -P 3308 *etc*
。该-h 127.0.0.1
命令提示mysql
尝试连接到网络位于 localhost 的服务器,而不是本地服务器。由于端口转发规则,网络连接随后被转发到远程服务器。如果您不使用标志-h
,它只会尝试与本地 MySQL 服务器通信,而根本不会通过网络。