远程连接到Amazon RDS MySql

时间:2014-02-27 20:06:33

标签: mysql amazon-web-services amazon-rds

我正在尝试使用MySql WorkBenchHeidiSql甚至是console Mysql.exe从我的计算机连接到Amazon RDS上的MySql,我一直都会收到此错误:

ERROR 2003 (HY000): Can't connect to MySQL server on 'MY-SERVER-NAME' (10060)

  1. 在实例的安全组中,我创建了一个新的入站规则,允许所有流量,并应用它,仍然 - 同样的错误。
  2. 我的计算机上没有活动防火墙,并且具有良好的互联网访问权限
  3. 我可以从Amazon EC3服务器访问数据库,我使用HeidiSql进行连接,并且完全相同的设置(主机,用户名,密码)无法在我的计算机上运行
  4. 但是,没有任何工作。我很确定我的安全组配置为允许外部连接,如下一个屏幕截图所示,还有另一个地方有防火墙规则吗? Screenshot of SecurityGroups

7 个答案:

答案 0 :(得分:4)

在我想要远程连接的VPC上使用RDS实例时,我遇到了同样的问题。要解决这个问题,我需要执行以下操作:

  • 转到AWS中的VPC管理控制台
  • 转到互联网网关(左侧)
  • 创建Internet网关并将其连接到我的VPC。记下此网关的ID。
  • 转到路线表
  • 编辑与与RDS实例关联的子网关联的路由表
  • 添加路线:
    • 目的地:0.0.0.0/0
    • 目标:您的Internet网关的ID

我的表格中没有这条路线,因为我手动创建了我的VPC而没有使用向导,但是如果你使用向导,它会自动为你创建这条路线。

注意:这假设您的安全组已配置为允许您的IP连接。

答案 1 :(得分:3)

2003年的错误是访问拒绝错误我愿意打赌你没有配置RDS来接受你的IP地址。

这可以通过转到数据库安全组来完成 - >点击默认 - >并添加新的CIDR / IP范围。我相信如果你把它设置为0.0.0.0/0它将接受所有的IP地址

答案 2 :(得分:1)

我使用SQLyog从我的机器连接到Amazon RDS。

您可以参考此博客:http://blog.webyog.com/2009/11/06/amazon-rds-the-beginners-guide/

答案 3 :(得分:0)

安全组设置只是防火墙规则。如果您可以从您遇到问题的主机上远程登录配置的MySQL端口,那么您就没有安全组问题。

可能是MySQL授权不允许外部IP。如果您知道root用户/密码,并且可以使用它来从可用的EC2实例进行连接,请确保您用于从外部连接的用户具有正确的权限。以下是有关如何添加新权限或创建新用户的文档:

http://dev.mysql.com/doc/refman/5.1/en/grant.html http://dev.mysql.com/doc/refman/5.1/en/adding-users.html http://dev.mysql.com/doc/refman/5.0/en/access-denied.html

答案 4 :(得分:0)

您是否已将安全组分配给RDS实例?如果您没有修改默认安全组,则需要将安全组添加到RDS实例。

答案 5 :(得分:0)

就我而言,我公司有两种不同的网络连接。当我去谷歌搜索“我的IP是什么?”我有一个答案; 209.x.y.z.当我去checkip.amazonaws.com时,我得到了另一个答案; 199.a.b.c。

我已经为209.x.y.z添加了VPC安全组规则,结果证明我需要它们用于199.a.b.c。

为199.a.b.c添加规则解决了这个问题。

答案 6 :(得分:0)

我和您有同样的问题,所有防火墙都已打开,但仍然无法从本地计算机远程访问我的RDS mysql。我的最终锻炼是在RDS数据库上有一个 “公共可访问性” 选项。默认值为“否”,将其勾选为“是”后,现在一切运行顺利。