使用MySQL Workbench与Amazon RDS MySQL数据库的简单连接
我只是试图从本地机器上的MySQL Workbench连接到Amazon MySQL RDS实例。我不想尝试从EC2实例或任何其他服务器进行连接,或者做任何特殊的事情。我只是想以最基本的方式进行连接,所以我可以在MySQL Workbench中添加数据库,表和一些数据。使用MySQL Workbench与Amazon RDS MySQL数据库的简单连接
我了MySQL Workbench应用程序下载并安装在运行OSX 10.9.4我的Mac电脑上。
我已成立了亚马逊AWS MySQL的RDS实例。
我有被授权此RDS实例的EC2安全组。 (?我应该使用一个CIDR/IP安全组如果是这样,你可以进入更详细请)
我打开MySQL工作台和我在设置新的连接窗口:
- 连接方式设置为标准(TCP/IP)。
- 主机名是我在此RDS仪表板中为此实例找到的端点
- 用户名是我在创建此RDS 实例时所做的主用户名。
- 密码问到“存储在钥匙串......”我把我做 当我创造了这个RDS实例的密码。
当我测试在工作台的连接,我得到的错误:
Can't connect to MySQL server on 'SERVER_IP_ADDRESS' (60)
我在做什么错?请从一开始就为新手一步一步来。
你有两个选择:
- 打开直接RDS访问您的计算机的IP地址。这应该很容易做到,但是如果你的IP地址不是静态的,或者通过NAT提供的,这将允许其他机器共享相同的IP,那么可能就不那么安全。
- 通过您的EC2实例上的SSH隧道访问RDS。您将使用适当的密钥进入您的EC2实例,然后从那里连接到RDS。从安全角度来看,这可能是最好的配置,因为您不需要在RDS防火墙中打开任何其他漏洞,并且您通常会启用SSH来访问您的EC2实例。
私钥在哪里? – Timeless 2015-04-03 13:56:10
亚马逊的instructions for the task看起来不错,所以我不打算尝试在这里复制整个事情;只是相关的部分。我用命令行,但相同的设置适用于MySQL Workbench还有:
mysql -h hostname
如果这是没有帮助的,随意发表评论。
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控制台,但一旦说“授权”的连接应该工作。
也就是说,假设您的连接字符串是正确的。 ;)
要确保几件事情:
- 您的VPC安全组被允许的端口上的连接您正在使用(默认3306)。
- 确保您的Internet网关连接到您的VPC。
- 您的子网的路由表必须包含将Internet访问流量引导到Internet网关的路由。 (source)
对我来说,最后一个滑过了。具体来说,我在路由表中添加了一个目的地,导致0.0.0.0/0(ALL)。我不知道这个的安全含义,但它在那之后起作用。这对我来说是一个一次性的数据库,它与其他实例/ VPC隔离。
此链接帮助我:
SSH主机名应该是你的EC2实例的公共DNS。
SSH用户名应该是您的ec2实例的用户名(例如:ec2-user)。
SSH密码应该是您ec2实例的密码。
MySQL主机应该是
用户名和密码应该是RDS实例的用户名和密码“你在你的RDS信息中心上看到终点”。
e.thompsy的答案帮助了我,但是自那时起,AWS接口中的事情发生了变化。为了让您的计算机的IP访问MySQL实例:
- 导航到RDS仪表板并单击Intances。这将列出您的RDS实例。
- 展开您想要访问的RDS实例。
- 下的安全性&网络部分中,安全组中列出,它会具有安全组名称(SG-XXXXXX)
- 的标识符在一个单独的标签上,打开EC2控制板。
- 在“网络&安全性”下的左侧菜单中,单击“安全组”
- 在您的RDS实例中单击具有匹配组ID的安全组。
- 下面列出了该组的选项。点击“入站”。
- 点击“编辑”。会弹出一个对话框。
- 单击“添加规则”
- 选择MYSQL/Aurora,它将填充TCP协议和3306端口范围这是默认的MySQL端口。如果您想更改此选项,请选择Custom TCP并输入您想要打开的范围。
- 在“Source”下拉列表中选择“我的IP”,如果您在计算机上需要访问,请选择“自定义”并输入机器的IP以访问其后的“/ 32”
- 单击保存,然后使用“Standard TCP/IP”使用您指定的端口与MySql Workbench连接到您的RDS端点。这样做当然必须输入用户名/密码。
我不知道打开该端口到您的IP的安全影响。如果您担心,建议您在需要访问RDS实例时撤销入站规则。
要通过MySQL Workbench连接Mysql RDS,请尝试执行以下步骤。
类型:MySQL -h -P 3306 -u -p在cmd中的窗口[你会被提示输入密码] 如果安全组和用户名,PWD是否正确,你将得到MySQL的对话框
ERROR 2003 (HY000):无法连接到''(10060)上的MySQL服务器 - 当没有入站规则时出现错误。
总是尝试维护一个新的安全组的DB。
如果选择默认安全组,默认情况下拒绝访问。
安全组入站规则已被修改为 MYSQL /极光TCP 3306 MYIP
它被连接。
您可能需要解锁amazon使用的防火墙中的端口,您可以在管理面板中将其添加到实例中。 – Carlos487 2014-09-29 21:03:01
我可以连接我的个人电脑吗?还是必须通过EC2实例进行连接?我需要创建一个新的CIDR/IP类型的安全组吗? – brno792 2014-09-29 21:42:19