【问题标题】:RDS MySQL ERROR 1045 (28000): Access denied for user when connecting to db from EC2RDS MySQL ERROR 1045 (28000):从 EC2 连接到 db 时用户拒绝访问
【发布时间】:2018-09-13 08:12:43
【问题描述】:

我有一个 EC2 实例,我正在尝试连接到 RDS (mySQL) 实例。

我创建了一个 RDS mySQL 实例,名称为:mydbinstance,用户:mysuperuser 和一个通用的 8 字符 (mypassword) 仅用于测试目的。

虚拟私有云:默认 (与EC2所在位置相同)

子网组:默认

公共可访问性:数据库实例将没有公共 IP 分配的地址。 VPC 之外的任何 EC2 实例或设备都不会 能够连接。)

可用区:无偏好

VPC 安全组:创建新的 VPC 安全组

IAM 数据库身份验证:已禁用

我将 RDS 实例添加到与 EC2 实例相同的 VPC,因此它位于同一区域中。

dbinstance 正在使用新的安全组:

类型:自定义 TCP 规则协议:TCP 端口:3306 CIDR:174.62.127.135/32

这个 IP 地址来自哪里?我在实例化时没有指定任何内容...

接下来,我通过 ssh 连接到我的 EC2 实例(位于同一 VPC 中的那个),然后尝试:

$ mysql -h mydbinstance.$(RDS_INSTANCE).us-west-2.rds.amazonaws.com -P 3306 -u mymasteruser -p

我在提示符处输入了mypassword(我之前指定的那个),我得到:

错误 1045 (28000): 拒绝用户 'mymasteruser'@'localhost' 的访问 (使用密码:YES)

我尝试使用ifconfig 获取 EC2 框的 IP 地址,并用它更新了 RDS 使用的安全组 IP 地址(我在上面想知道的那个)。同样的结果,没有运气连接。从那时起,我一直在谷歌上寻找答案。

我还有哪些其他的调试选项?如有任何建议,我将不胜感激。

更新

我能够从我的笔记本电脑上运行它(通过将 DB Public Access 更改为 YES):

mysql -h mydbinstance.$(RDS_INSTANCE).us-west-2.rds.amazonaws.com -P 3306 -u mymasteruser -p

找到 0 个关联找到 1 个连接:

found 0 associations
found 1 connections:
     1: flags=82<CONNECTED,PREFERRED>
    outif en3
    src 192.168.86.33 port 55863
    dst xx.xxx.xxx.xxx port 3306
    rank info not available
    TCP aux info available

但是我无法从我的 EC2 实例中获得任何输出。它挂了!与我运行 netcat (nc) 命令的原因相同。为什么这在我的 EC2 实例上不起作用?

【问题讨论】:

  • 检查允许此连接的安全组。
  • 我做到了。我在上面写过:dbinstance 正在使用一个新的安全组:并为其提供了参数。
  • 如果安全组不让我进入,我不会看到 mySQL 错误。我怀疑凭据是错误的,但我三次检查了我输入的原因,所以我可以从头开始。我可以尝试使用其他命令从 EC2 连接到 RDS 吗?

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


【解决方案1】:

在 aws 论坛上找到金块后,我能够使其工作。把它发回这里以防有人偶然发现同样的问题:

"为了连接 MySQL,你必须授权 IP 您计划连接到 MySQL 的主机的地址。你 还应该撤销您当前已授权的 CIDR 的访问权限。 如果您不知道计算机的 IP 地址,可以通过以下方式查看 访问网站http://checkip.amazonaws.com/。请注意,您将 必须在末尾添加“/32”才能将 IP 地址转换为 仅包含该 IP 地址的 CIDR。例如,如果您的 IP 地址是192.0.2.10,你应该授权访问CIDR 192.0.2.10/32.

【讨论】:

  • 这个答案不够清楚。授权主机的ip地址..在哪里?撤销访问权限...在哪里?
  • 在“安全组”的“入站规则”中,链接到您的 RDS 实例。
  • ^ 上述设置可以在 EC2 > 安全组中找到。不是 RDS ......令人困惑!
  • 在 RDS 中,当前有一个“连接性和安全性”选项卡。点击编辑“VPC安全组”点击“安全组ID”栏下的链接即可“编辑入站规则”
  • 主机没有静态公网IP怎么办?
猜你喜欢
  • 2017-04-02
  • 2022-12-05
  • 1970-01-01
  • 2012-08-11
  • 2016-09-27
  • 2020-02-10
  • 2015-06-03
  • 2019-12-15
  • 2021-04-25
相关资源
最近更新 更多