无法将MySQL Workbench连接到RDS实例

时间:2013-05-10 17:55:59

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

遵循本教程 http://thoughtsandideas.wordpress.com/2012/05/17/monitoring-and-managing-amazon-rds-databases-using-mysql-workbench/

在创建新服务器实例以连接到RDS数据库时,我无法测试数据库连接。 它说Bad_Authentication [allowed_types = public_key],我有一个尝试过不同的.pem文件,并通过很多论坛完成。 我还允许在RDS的DB SecurityGroups和EC2的安全组中访问我的IP。

请帮帮我。感谢。

6 个答案:

答案 0 :(得分:17)

这对我有用。假设您已登录AWS:

  1. 转到RDS->数据库->选择数据库

enter image description here

  1. 确保公共可访问性值为 enter image description here

  2. 使用http://checkip.amazonaws.com/检查您的IP地址。如果未将其添加到安全规则组中,则应添加它。 此步骤至关重要

3.1。单击规则名称。这将打开一个新标签,然后单击规则名称。

enter image description here

3.2。点击编辑入站规则

enter image description here

3.3。单击添加新规则,然后添加具有以下值的规则:

类型: MYSQL / Aurora。

协议:TCP(默认)

端口范围: 3306(默认)

来源:我的IP->这将是您在http://checkip.amazonaws.com/处获得的IP地址。

enter image description here

  1. 在MySQL Workbench中填充信息

enter image description here

主机名:使用您在“连接性和安全性”上为Endpoint拥有的值

端口:使用“连接性和安全性”中“端口”的值,默认值为3306。

用户名:使用配置中的主用户名的值

密码:使用在创建数据库实例时设置的值。

如果您忘记了密码,则可以通过在数据库实例中单击“修改”来更改它。

enter image description here enter image description here

希望这对您有所帮助。

答案 1 :(得分:1)

对于RDS,无需使用ssh。您可以直接将RDS与MySql工作台连接。 请按照以下步骤进行操作 -

  

确保在安全组中您应该为MYSQL提供访问权限

  1. 打开MySQL工作台并设置新连接
  2. 提供连接名称。
  3. 连接方法设置为标准(TCP / IP)
  4. 在HostName中提供<​​strong> RDS端点
  5. 港口是3306
  6. 输入您在RDS中提供的用户名。
  7. 测试连接,并提供密码。 而已。 For Reference GoTo This Link

答案 2 :(得分:0)

如果您没有使用EC2 Instance连接RDS数据库实例,则数据库实例应具有公共访问权限。

  1. 启动数据库实例时,您需要将公开访问设置为是。您将获得公共IP以从外部网络连接。这意味着在VPC之外。
  2. 您需要在公共子网中启动可直接访问Internet的数据库实例。要检查子网是否可以访问Internet,您需要检查随子网附加的路由表。在路由表中,选中 Internet网关附加到子网。
  3. 您无需SSH进入数据库实例。虽然该选项也不可用。
  4. 在MySQL WorkBench中,单击设置新连接
  5. 提供连接名称。选择标准(TCP / IP)选项。您没有尝试通过EC2实例连接数据库实例,因此在这种情况下, SSH 的选项无法解决。您必须提供MySQL主机名,用户名,密码和端口。
  6. 要验证连接,请点击测试连接按钮。
  7. 如果要使用EC2实例并通过EC2实例连接数据库实例,则必须使用标准(TCP / IP)over SSH 选项。请检查以下链接 What would prevent me from connecting to a MySQL server on AWS RDS from an AWS EC2 VM?

答案 3 :(得分:0)

即使我遇到了同样的问题,例如尝试了所有事情之后。有效的方法是修改RDS数据库并使其可公开访问。这样可以解决问题。

答案 4 :(得分:0)

我有同样的问题。我认为您需要启用到VPC的入站流量。按照下面的文章,您会没事的。默认情况下,默认VPC不允许用户访问3306,并且您需要允许流量。

RDS and MySQL Connectivity

enter image description here

答案 5 :(得分:-1)

根据您问题中的详细信息,您似乎正在尝试通过SSH连接到RDS实例。 RDS不支持此功能,它仅适用于基于EC2的MySQL服务器。

您应该直接连接到MySQL服务器,端口3306(或手动设置的端口,如果是这种情况),并使用您在配置RDS实例时创建的用户名和密码。这意味着在WB中使用连接类型“标准TCP / IP”

此外,应在RDS安全组中允许您正在使用MySQL Workbench的计算机的公共IP地址。