2014-04-09 45 views
0

我看到很多帖子声称他们正在运行MySql的RDS实例,但他们无法连接到该实例,但我没有运行RDS。无法连接到在EC2实例(非RDS)上运行的远程MySQL实例

我用我的EC2 insance托管使用Web平台安装程序安装的我的wordpress博客。

这设置了我需要的wordpress模式和数据,并且我已经运行了几年。

我想能够远程访问这个数据库,而不是只登录到我的服务器。

我已经确认并具有下列用户

root 
wpadmin 

我也已经验证了在MySQL配置指定的端口是标准的3306,我有一个设置入站防火墙规则来允许通过3306。

当我尝试从MySQL工作台连接,我收到以下错误信息:

enter image description here

数3特别一说,我不知道如何检查,但我知道,MySQL是运行并且它在3306上运行。另外,我知道我正在使用正确的密码。

enter image description here

当我尝试连接时,提示是这样的。我需要做些什么来授予Mysql用户权限或任何东西?

+0

你可以发布'SHOW GRANTS;'查询结果到你的问题吗?您的EC2安全组是否配置为允许在端口3306上访问?老实说,你可能会更好地尝试通过SSH隧道进行数据库连接,这样你就不需要打开你的数据库来从本地主机以外的潜在访问。 –

+0

它显示我授予*。*到'root'@'localhost'标识的'WITH GRANT OPTION – TheJediCowboy

+0

我只打算在很短的时间内打开它,然后删除它,如果我可以'不知道这一点,我可能会尝试建立SSH隧道的路线。 – TheJediCowboy

回答

2

根据您的GRANT信息,您至少有root用户只能从本地主机获得访问权限的问题。您需要创建一个[email protected]%用户(如果您有可靠的地址,则需要创建一个更具体的主机/ IP而不是%)。只要您的EC2安全组也允许在端口3306上访问(全局或限制较多的IP地址或IP范围),这将允许外部访问。

当然,这里的安全隐含意义在于您打开了MySQL的访问权限,您可能不想让潜在的攻击者拥有更多的访问权限。出于这个原因,我建议你通过SSH隧道访问你的数据库,这是MySQL工作台支持的。这实际上可以让你将你的访问密钥放入主机,然后以[email protected]的身份访问。

+0

我觉得自己很愚蠢,但是你有没有一个地方可以让我指出在这种特殊情况下建立SSH隧道? – TheJediCowboy

+0

Got it!感谢您的帮助和及时的答复! – TheJediCowboy

相关问题