11

我有一个 ubuntu 服务器,我只锁定了 HTTP、HTTPS 和 SSH(端口 30000)。在这个盒子上,我有一个 MySQL 服务器,99.9% 的时间只在本地使用。时不时我想用 GUI 工具连接到 MySQL 实例,但不接触防火墙。

因此,可以进行设置以便我可以通过 SSH 连接连接到 MySQL 机器吗?我可以做任何类型的端口转发魔术吗?

4

7 回答 7

13
ssh -L localport:127.0.0.1:remoteport user@remotehost

wherelocalport是本地系统上的未绑定端口,remoteport是 MySQL 侦听的端口,127.0.0.1是远程系统上的环回地址,user是您的用户名,remotehost是远程系统的地址。

然后将您的 MySQL 客户端指向127.0.0.1:localport. 连接将通过 SSH 隧道转发到远程端口。

于 2009-05-13T17:18:27.067 回答
4

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

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

于 2009-05-13T17:13:04.017 回答
3

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

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

于 2009-05-13T17:14:15.887 回答
2

如果您使用的是 Windows,我建议您使用HeidiSQL 。它自己处理 SSH 隧道(您只需要下载 plink.exe 实用程序)。

在我看来,它是目前最好的 MySQL 工具(而且它是免费和开源的)。

于 2010-11-04T15:35:34.240 回答
1

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

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

选项1。

SSH 端口转发。

ssh -L 3306:proxy:3306 用户名@remotehost

基本上,您将本地计算机上的端口 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 工具。

于 2009-05-21T02:18:11.787 回答
1

SQLyog 中的 SSH/HTTP 隧道很好。有公钥/私钥身份验证,增加了额外的安全层。

在此处输入图像描述

于 2012-08-02T04:40:13.870 回答
-1

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

或者如上所述使用 SSH 进行 X 隧道传输。

于 2009-05-14T08:50:15.613 回答