7

我正在关注本教程 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 的数据库安全组和 EC2 的安全组中的 IP。

请帮帮我。谢谢。

4

8 回答 8

41

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

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

在此处输入图像描述

  1. 确保公共可访问性值为 在此处输入图像描述

  2. 使用http://checkip.amazonaws.com/检查您的 IP 地址。如果它没有添加到安全规则组,您应该添加它。这一步很关键

3.1。单击规则名称。这将打开一个新选项卡,然后单击规则名称。

在此处输入图像描述

3.2. 点击编辑入站规则

在此处输入图像描述

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

类型: MYSQL/Aurora。

协议: TCP(默认)

端口范围: 3306(默认)

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

在此处输入图像描述

  1. 在 MySQL Workbench 中填写信息

在此处输入图像描述

主机名:使用您在连接性和安全性中的端点值

端口:使用您在连接和安全中的端口值,默认为 3306。

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

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

如果您忘记了密码,您可以通过单击数据库实例中的修改来更改它)

在此处输入图像描述 在此处输入图像描述

我希望这对你也有帮助。

于 2020-04-01T17:30:11.317 回答
1

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

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

  1. 打开 MySQL 工作台并设置 New Connection
  2. 提供连接名称。
  3. 连接方法设置为标准 (TCP/IP)
  4. 在 HostName 中提供您的RDS 端点
  5. 端口是 3306
  6. 输入您在 RDS 中提供的用户名。
  7. 测试连接,并提供密码。而已。 供参考转到此链接
于 2015-01-30T08:59:09.493 回答
1

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

RDS 和 MySQL 连接

在此处输入图像描述

于 2020-12-14T19:07:41.730 回答
1

如果您不使用 EC2 实例与 RDS 数据库实例连接,则数据库实例应具有公共访问权限以进行连接。

  1. 启动数据库实例时,您需要将Publicly Accessible 设置为 yes。您将获得公共 IP 以从外部网络连接。这意味着在 VPC 之外。
  2. 您需要在可以直接访问 Internet的公共子网中启动数据库实例。要检查子网是否可以访问 Internet,您需要检查子网附带的路由表。在路由表中,检查Internet 网关是否连接到子网。
  3. 您无需通过 SSH 连接到数据库实例。虽然该选项也不可用。
  4. 在 MySQL WorkBench 中,单击Setup New Connection
  5. 给出连接名称。选择标准 (TCP/IP)选项。您没有尝试通过 EC2 实例连接数据库实例,因此在这种情况下,使用SSH的选项不起作用。您必须提供 MySQL 主机名、用户名、密码和端口。
  6. 要验证连接,请单击测试连接按钮。

如果您想使用 EC2 实例并通过 EC2 实例连接数据库实例,则必须使用标准 (TCP/IP) over SSH选项。检查以下链接 什么会阻止我从 AWS EC2 VM 连接到 AWS RDS 上的 MySQL 服务器?

于 2017-01-18T05:02:35.477 回答
1

确保公共可访问性应该是肯定的。

此外,在安全组部分中,单击安全链接,然后在入站规则部分下添加一个新规则,它将使用以下数据将您的 IP 地址列入白名单:

类型:MYSQL/Aurora。

协议:TCP(默认)

端口范围:3306(默认)

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

希望这将有助于成功连接 AWS RDS。谢谢!

于 2021-05-22T10:40:43.423 回答
0

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

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

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

于 2013-10-08T12:26:03.603 回答
0

甚至我也有同样的问题,就像在尝试了所有的事情之后。一个可行的方法是修改 RDS 数据库并使其可公开访问。事情就这样解决了。

于 2019-12-11T08:39:04.217 回答
0

在我的场景中,问题很简单,我必须在 RDS > db instance 部分的相关安全组中 为 MYSQL启用3306 端口。在此处输入图像描述

于 2021-12-23T07:57:00.260 回答