有一台我希望连接的服务器。它有多个虚拟机在其上运行,每个虚拟机都有一个mysql数据库。我目前可以使用ssh连接到此服务器,然后使用mysql -u user -h host -p password
连接到每个虚拟机的任何数据库。现在我想从本地机器上使用MySQL工作台连接到相同的MySQL数据库。但是有防火墙,目前我使用putty通过公共的私钥认证的防火墙,我可以访问任何我想要的机器。我已经看到 here我必须在本地安装MySQL服务器(我已经完成了这项工作,我正在使用mysql工作台)并使用环回地址,这样就不需要访问外部服务器。任何人都可以指出如何做到这一点的正确方向?将MySQL数据库连接到防火墙后面
1
A
回答
2
您需要使用ssh隧道。
在选项下的腻子去连接 - > SSH->隧道。从源端口13306
添加隧道到目的地localhost:3306
。
您可以在连接之前或之后在腻子中进行此操作。最好事先做好保存会话配置,否则无法重新输入设置。
在MySQL工作台连接到localhost
端口13306
。
有一个很好的指导与此截屏:Setting up an SSH tunnel with PuTTY
一个SSH隧道,使您的SSH客户端机器上的TCP端口,并指示对什么目的地设置为任何流量。您可以添加多个隧道,但每个隧道都必须侦听不同的源端口号。
0
您可以通过SSH转发端口。
SSH -NL是你的朋友,像这样:
ssh -NL 3306:localhost:3306 <yourserver>
然后你就可以在本地主机指向你的工作台。
1
您不需要任何其他软件来完成此任务。 MySQL Workbench可以自行创建SSH隧道。在Youtube上观看我的教程如何创建连接:https://www.youtube.com/watch?v=DCgRF4KOYIY。
它基本上归结为创建正确的连接类型。有一个下拉菜单允许你选择一个SSH连接。输入您通过Putty连接的参数。
相关问题
- 1. 通过SSH连接防火墙后面的远程数据库
- 2. 使用JDBC连接到具有防火墙的SQL数据库
- 3. 将数据从icinga卫星拉到防火墙后面的主数据库
- 4. 如何从防火墙后连接到MySQL?
- 5. 连接到位于防火墙后面的RMI服务器?
- 6. 连接到防火墙后面的MSSQL服务器
- 7. TCP连接和防火墙
- 8. 在防火墙后面接收答案
- 9. 在企业防火墙后面使用cloud_sql_proxy - 无法连接到mysql实例
- 10. 套接字一端连接,防火墙?
- 11. Azure数据库防火墙问题
- 12. 连接到代理防火墙后的DBpedia端点
- 13. 使用Applescript允许防火墙连接
- 14. Windows防火墙阻止UDP连接
- 15. Plesk 12防火墙阻止VNC连接
- 16. 通过防火墙代理将Arduino连接到Internet
- 17. IBM JDBC DB2后端连接在防火墙后
- 18. 在防火墙后面配置sendmail
- 19. 设备防火墙后面通过ssh
- 20. 防火墙后面的木偶vcsrepo?
- 21. 检索sinatra中防火墙后面的数据的问题
- 22. 防火墙处于活动模式时无法连接到mysql数据库(使用java代码)
- 23. 将Mysql数据库连接到VirtualBox Vagrant?
- 24. 将MySQL数据库连接到php
- 25. 将VB.NET连接到MySQL数据库
- 26. 将android连接到mysql数据库
- 27. 将Java连接到MySQl数据库
- 28. 将Ruby rails连接到MySQL数据库
- 29. 将JavaScript连接到MySQL数据库
我已经创建隧道之前成为问题,谢谢!我有点困惑,我创建端口13306到目的地localhost:3306。为什么我要指定localhost?对不起,我只是想了解我为什么要这样做,这样我就能更好地理解它。 – TrevDred
在你的问题中你说你已经在本地安装了MySQL。这将使用端口3306,所以你需要隧道另一个。 5000到65535之间的任何数字通常都是免费的。最重要的是,该源端口号确定的MySQL工作台连接到为了被隧道传送到指定的目的地的一个。 –
我好清楚,我现在有一个连接设置为通过传递腻子防火墙。现在有多个VM与MySQL DB。我必须创建一个隧道到每个这些数据库。为什么我不必为MySQL DB指定每个虚拟机的IP地址? – TrevDred