我有一个ubuntu服务器,我只锁定了HTTP,HTTPS和SSH(端口30000)。在这个盒子里,我有一个MySQL服务器,99.9%的时间只在本地使用。我不时地想用GUI工具连接MySQL实例,但不要碰到防火墙。
因此,可以进行设置以便我可以通过SSH连接连接到MySQL框?我可以做任何类型的端口转发魔术吗?
答案 0 :(得分:12)
ssh -L localport:127.0.0.1:remoteport user@remotehost
其中localport
是本地系统上的未绑定端口,remoteport
是MySQL侦听的端口,127.0.0.1
是远程系统上的环回地址user
是您的用户名,remotehost
是远程系统的地址。
然后将您的MySQL客户端指向127.0.0.1:localport
。连接将通过SSH隧道转发到远程端口。
答案 1 :(得分:4)
如果您在本地计算机上使用Windows或Unix,PuTTY是一个很好的工具。这是一个关于端口转发的教程:
http://www.cs.uu.nl/technical/services/ssh/putty/puttyfw.html
答案 2 :(得分:3)
使用SSH客户端设置隧道,将本地端口通过隧道映射到远程计算机上的端口,然后使用客户端连接到本地端口。
man ssh
会有详细的信息,但你可能最好在网上搜索一些更容易阅读的内容。
答案 3 :(得分:2)
如果你在Windows上,我建议使用HeidiSQL。它自己处理SSH隧道(您只需要下载plink.exe实用程序)。
在我看来,它是最好的MySQL工具(它是免费和开源的)。
答案 4 :(得分:0)
有两种方法可以在远程MYSQL机器上使用GUI mysql工具。
我假设远程机器正在运行linux。
选项1。
SSH端口转发。
ssh -L 3306:proxy:3306 username @ remotehost
基本上,您将本地计算机上的端口3306转发到远程计算机上的3306,然后告诉您的图形MYSQl工具连接到localhost:3306,并假设您的远程计算机正在侦听标准端口3306
http://magazine.redhat.com/2007/11/06/ssh-port-forwarding/
ssh -D 3306用户名@ remotehost也应该类似
选项2。
如果您在远程计算机上运行xserver并在远程计算机上安装了GUI工具,则可以通过SSH连接对GUI进行隧道传输。
ssh -X username @ remotehost然后从命令行在远程计算机上启动GUI工具。
答案 5 :(得分:-1)
我建议寻找phpMyAdmin a web based tool to administrate MySQL,并且非常好(需要PHP)。它可以通过普通的Ubuntu方法安装(例如Synaptic)
或者如上所述使用SSH进行X隧道传输。