在Mac OS X上转发端口3306以连接到远程MySQL数据库

我在Mac OS X 10.6.2试图连接到linode的Ubuntu服务器8.04.1。

ssh -L 127.0.0.1:3306:[[remote ip]]:3306 user@server -N

我想设置SSH隧道,以便我可以访问远程MySQL服务器。

首先,我告诉bind: Address already in use 。 这只是我以前尝试过的命令。 如何手动closures端口转发会话?

其次,当我改变命令为ssh -L 127.0.0.1:3310:[[remote ip]]:3306 user@server -N (我改变了本地端口监听)。 我被告知channel 1: open failed: connect failed: Connection refused当我尝试通过MySQL工作台或续集亲连接到MySQL服务器。

要通过MySQL工作台进行连接,请使用以下设置:

  • 主机:127.0.0.1端口:3310(如果3306正在使用中)
  • 用户名:mysql用户名
  • 密码:mysql密码
  • 数据库:我什么也没放

这应该工作:

 ssh -L 3310:127.0.0.1:3306 user@server 

第一个端口号是要使用的本地端口(不能被使用),冒号之间的IP就是要连接的IP。 第二个端口号是要连接的端口号。 如果您连接的服务器不是您正在使用的服务器,请尝试以下操作:

 ssh -L 3310:<remote-IP>:3306 user@server 

通常,当我想多次执行此操作时,我在〜/ .ssh / config中创build一个条目,如下所示,其中sshhost.example.com是我正在sshing的服务器,我想要打开的本地端口是5910 ,我想连接的另一端的IP是192.168.35.69,我想连接的端口是5900:

 Host desk Hostname sshhost.example.com User jed Port 22 LocalForward 5910 192.168.35.69:5900 

然后从命令提示符我可以做

 jed@jed-mbp:~$ ssh desk 

并在办公室得到一个隧道到我的桌面。

祝你好运,

–jed