我正在尝试远程访问amazon ec2 mysql服务器。
我的问题是(肯定)Mac OSX。因为当我尝试通过相同的mysql客户端(MySQL Workbench 6.0)连接到从这个相同的MacOSX机器托管的VM内的窗口时,它工作得很好。
我对这个问题进行了很多搜索。而this guy认为问题出在第三方应用程序iStatPro(实际上是一个仪表板小部件)。我有相同的小部件,我试图删除它,但它没有用。
是否有可能其他应用程序阻止了我的3306端口(或22 ssh默认端口)?如果是这样,最好的方法是找出哪一个?
提前致谢。
修改
我尝试连接时遇到的错误与人得到的错误完全相同。这是:
Your connection attempt failed for user 'xxxx' from your host to server at xxxx.yyyyy.zzzzz.edu:3306:
Can't connect to MySQL server on 'xxxx.yyyyy.zzzzz.edu' (61)
编辑[2]:
另外,然后我尝试使用mysql workbench连接它立即拒绝连接。让我想一想,它甚至没有机会连接到ssh tunel,在当地被拒绝。
编辑[3]:
我用来连接mysql远程服务器的参数是: SSH主机名:99.999.999.999:22 SSH用户名:ubuntu SSH密码:为空 SSH密钥文件:各自的.pem文件 MySQL主机名:127.0.0.1 MySQL服务器端口:3306 用户名:root 密码:mypassword default_schema:my_default_schema
编辑[4]:
我可以通过终端建立连接就好了。
答案 0 :(得分:1)
要解决MySQLWorkbench中的SSH连接问题,必须首先在终端中手动创建SSH隧道:
<强>
ssh -nNT -L 1234:my-ec2-server.us-west-1.rds.amazonaws.com:3306 firstname.lastname@xxx.xxx.xxx.xxx
强>
其中:
1234
=您计算机上的本地端口3306
=主机上的标准MySQL数据库端口,以映射到firstname.lastname
=您的SSH登录用户名xxx.xxx.xxx.xxx
= SSH网关机器(堡垒主机)的IP地址然后设置MySQLWorkbench以连接到端口1234上的localhost数据库:
MySQLWorkbench - &gt;数据库 - &gt;管理连接 - &gt;新 - &gt;指定名称
使用完数据库后,按终端中的 Ctrl + C 手动断开/关闭SSH隧道。
答案 1 :(得分:0)
尝试使用Network utility
(应用程序&gt;实用程序&gt;网络实用程序),
在最后一个标签中,您可以在port scan
上运行localhost
。
正在使用的每个端口都将与使用该端口的服务的名称一起监听。
希望这有帮助。