我可以通过GUI工具SSH连接到MySQL吗?

我有一个Ubuntu的服务器,我已经locking只有HTTP,HTTPS和SSH(端口30000)。 在这个盒子里我有一个MySQL服务器,其中99.9%的时间只在本地使用。 我偶尔想用GUI工具连接到MySQL实例,但不要触摸防火墙

因此,可以设置一些东西,以便我可以通过SSH连接连接到MySQL盒子? 有什么港口转发魔术我可以做吗?

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隧道转发到远程端口。

如果您在本地机器上使用Windows或Unix,PuTTY是一个很好的工具。 这是一个关于端口转发的教程:

http://www.cs.uu.nl/technical/services/ssh/putty/puttyfw.html

使用SSH客户端建立隧道,将本地端口通过隧道映射到远程机器上的端口,然后使用客户端连接到本地端口。

man ssh将有血淋淋的细节,但你可能会更好地在网上搜索一些更容易阅读的东西。

如果你在Windows上,我会建议使用HeidiSQL 。 它自己处理SSH隧道(你只需要下载plink.exe工具)。

在我看来,这是最好的MySQL工具(它是免费的,开源的)。

在SQLyog中的SSH / HTTP隧道是好的。 有公钥/私钥认证,增加了额外的安全层。

在这里输入图像说明

有两种方法可以在远程MYSQL机器上使用GUI mysql工具。

我假设远程机器正在运行Linux。

选项1。

SSH端口转发。

ssh -L 3306:代理:3306用户名@远程主机

基本上,您将本地计算机上的端口3306转发到远程计算机上的3306,然后告诉图形MYSQl工具连接到localhost:3306,并假设您的远程计算机正在监听3306的标准端口

http://magazine.redhat.com/2007/11/06/ssh-port-forwarding/

另外ssh -D 3306 username @ remotehost应该是类似的

选项2。

如果您正在远程计算机上运行xserver,并在远程计算机上安装了GUI工具,则可以通过SSH连接将您的GUI隧道化。

ssh -X username @ remotehost,然后从命令行在远程机器上启动GUI工具。

我建议期待phpMyAdmin一个基于Web的工具来管理MySQL ,是非常好的(需要PHP)。 它可以通过普通的Ubuntu方法来安装(例如Synaptic)

或者,如上所述,使用SSH进行隧道连接。