2014-09-29 218 views
6

我只是试图从本地机器上的MySQL Workbench连接到Amazon MySQL RDS实例。我不想尝试从EC2实例或任何其他服务器进行连接,或者做任何特殊的事情。我只是想以最基本的方式进行连接,所以我可以在MySQL Workbench中添加数据库,表和一些数据。使用MySQL Workbench与Amazon RDS MySQL数据库的简单连接

我了MySQL Workbench应用程序下载并安装在运行OSX 10.9.4我的Mac电脑上。

我已成立了亚马逊AWS MySQL的RDS实例。

我有被授权此RDS实例的E​​C2安全组。 (?我应该使用一个CIDR/IP安全组如果是这样,你可以进入更详细请)

我打开MySQL工作台和我在设置新的连接窗口:

  • 连接方式设置为标准(TCP/IP)。
  • 主机名是我在此RDS仪表板中为此实例找到的端点
  • 用户名是我在创建此RDS 实例时所做的主用户名。
  • 密码问到“存储在钥匙串......”我把我做 当我创造了这个RDS实例的密码。

当我测试在工作台的连接,我得到的错误:

Can't connect to MySQL server on 'SERVER_IP_ADDRESS' (60) 

我在做什么错?请从一开始就为新手一步一步来。

+0

您可能需要解锁amazon使用的防火墙中的端口,您可以在管理面板中将其添加到实例中。 – Carlos487 2014-09-29 21:03:01

+0

我可以连接我的个人电脑吗?还是必须通过EC2实例进行连接?我需要创建一个新的CIDR/IP类型的安全组吗? – brno792 2014-09-29 21:42:19

回答

0

你有两个选择:

  • 打开直接RDS访问您的计算机的IP地址。这应该很容易做到,但是如果你的IP地址不是静态的,或者通过NAT提供的,这将允许其他机器共享相同的IP,那么可能就不那么安全。
  • 通过您的EC2实例上的SSH隧道访问RDS。您将使用适当的密钥进入您的EC2实例,然后从那里连接到RDS。从安全角度来看,这可能是最好的配置,因为您不需要在RDS防火墙中打开任何其他漏洞,并且您通常会启用SSH来访问您的EC2实例。
+0

私钥在哪里? – Timeless 2015-04-03 13:56:10

0

亚马逊的instructions for the task看起来不错,所以我不打算尝试在这里复制整个事情;只是相关的部分。我用命令行,但相同的设置适用于MySQL Workbench还有:

mysql -h hostname 

如果这是没有帮助的,随意发表评论。

4

I have an EC2 Security Group that is authorized for this RDS instance. (Should I be using a CIDR/IP security group? If so can you go into more detail please)

这是你似乎缺少的部分。您需要编辑安全组设置:

  • 您需要授权试图通过CIDR/IP连接到RDS实例的计算机的IP。如果您正在使用同一台计算机编辑安全组,以尝试通过MySQL Workbench进行连接,那么当您选择“连接类型:CIDR/IP”(位于安全组设置的底部)时,该对话框将自动 - 填写您自己的IP块(您的IP附加/ 32)。

  • 点击授权,应该这样做。

我已经经历过这种授权,几秒钟就可以采取一分钟,以在视觉上完全在AWS控制台,但一旦说“授权”的连接应该工作。

也就是说,假设您的连接字符串是正确的。 ;)

1

要确保几件事情:

  • 您的VPC安全组被允许的端口上的连接您正在使用(默认3306)。
  • 确保您的Internet网关连接到您的VPC。
  • 您的子网的路由表必须包含将Internet访问流量引导到Internet网关的路由。 (source

对我来说,最后一个滑过了。具体来说,我在路由表中添加了一个目的地,导致0.0.0.0/0(ALL)。我不知道这个的安全含义,但它在那之后起作用。这对我来说是一个一次性的数据库,它与其他实例/ VPC隔离。

0

e.thompsy的答案帮助了我,但是自那时起,AWS接口中的事情发生了变化。为了让您的计算机的IP访问MySQL实例:

  1. 导航到RDS仪表板并单击Intances。这将列出您的RDS实例。
  2. 展开您想要访问的RDS实例。
  3. 下的安全性&网络部分中,安全组中列出,它会具有安全组名称(SG-XXXXXX)
  4. 的标识符在一个单独的标签上,打开EC2控制板。
  5. 在“网络&安全性”下的左侧菜单中,单击“安全组”
  6. 在您的RDS实例中单击具有匹配组ID的安全组。
  7. 下面列出了该组的选项。点击“入站”。
  8. 点击“编辑”。会弹出一个对话框。
  9. 单击“添加规则”
  10. 选择MYSQL/Aurora,它将填充TCP协议和3306端口范围这是默认的MySQL端口。如果您想更改此选项,请选择Custom TCP并输入您想要打开的范围。
  11. 在“Source”下拉列表中选择“我的IP”,如果您在计算机上需要访问,请选择“自定义”并输入机器的IP以访问其后的“/ 32”
  12. 单击保存,然后使用“Standard TCP/IP”使用您指定的端口与MySql Workbench连接到您的RDS端点。这样做当然必须输入用户名/密码。

我不知道打开该端口到您的IP的安全影响。如果您担心,建议您在需要访问RDS实例时撤销入站规则。

1
  1. 在AWS安全组,开放3306从您的 计算机的传入连接的MySQL的远程访问
  2. 授予权限 - 授予所有权限。改为“'@”'由''用''标识的选项; 刷新权限;
  3. 设置本地MySQL工作台 - MySQLWorkbench设置截图

MySQLWorkbench setup screenshot

祝你好运!

0

要通过MySQL Workbench连接Mysql RDS,请尝试执行以下步骤。

类型:MySQL -h -P 3306 -u -p在cmd中的窗口[你会被提示输入密码] 如果安全组和用户名,PWD是否正确,你将得到MySQL的对话框

ERROR 2003 (HY000):无法连接到''(10060)上的MySQL服务器 - 当没有入站规则时出现错误。

总是尝试维护一个新的安全组的DB。

如果选择默认安全组,默认情况下拒绝访问。

安全组入站规则已被修改为 MYSQL /极光TCP 3306 MYIP

它被连接。