heidisql使用ssh远程连接mysql

一般都是使用phpmyadmin来管理远程数据库,但是也可以使用自己喜爱的mysql客户端工具配合ssh通道来连接远程数据库,其道理就似乎是个代理,用ssh工具登陆上mysql所在主机的某个端口,在本地开个端口,那么本机对此端口的请求就会连接到主机上的配置的端口上。

下面以heidisql为例。

最主要的是ssh的配置,putty大家都知道吧,用它来建立隧道。

首先你的远程服务器需要开通ssh连接,此文就不涉及内容,假定已可以通过ssh远程连接,并且检查msql是否允许此主机连接,可以通过cpanel的RemoteMysql来配置。

在putty中需要配置:

打开putty,在session中配置主机ip地址或域名以及端口。

mysqlgui2

然后配置本机到主机的映射隧道:

在tunnels中source port是你打算在本机映射的端口此例中是3307,注意不要使用已被占用的端口。

Destination中添目标mysql主机ip以及mysql端口,此例中是codex345.extremehost,端口是3306

选中local和auto点击Add,那么隧道就配置成功了。

mysqlgui3

在session中保存你的配置,点击open,此时会出现putty控制台登陆远程主机,需要你填入用户名和密码。登陆成功后,就可以在heidisql中项配置本地数据库一样配置到远程数据库的连接了。此例中练的是本地,端口是上面配置的3307,其实就是通过隧道连接到远程主机的3306端口了,是不是很方便呢。

mysqlgui4

实际开发中不喜欢每次都要在putty中输入用户名密码,而putty处于安全的考虑又不提供保存密码的功能,那么你可以使用xshell,它是一款功能更强大的商业软件,而且对个人用户免费哈哈。见http://www.netsarang.com/products/xsh_overview.html

它的配置和putty很类似,对于隧道配置如下图,其实也是一样,只不过界面改了,我在这里烂一下笔头,方便大家区分:

Snap1

 

有时连接出现SQL Error (2013): Lost connection to MySQL server at 'reading initial communication packet',错误,经测试改用ip而不是域名连接远程主机就可以解决这个问题。


Total views.

© 2013 - 2018. All rights reserved.

Powered by Hydejack v6.6.1