You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

EC2连接RDS MySQL遇ERROR 1045(28000)权限拒绝问题求助

解决EC2连接RDS MySQL的ERROR 1045 Access Denied问题

嘿,这个问题我之前在同VPC环境下踩过好几次坑,咱们一步步来排查,大概率能解决:

1. 先检查MySQL用户的访问权限范围

MySQL的用户权限是和连接来源的主机/IP绑定的,你创建mysuperuser的时候,很可能默认只允许从localhost或者某个特定IP访问,而不是EC2所在的VPC网段。

  • 你可以通过RDS控制台的查询编辑器(如果开启了的话)直接登录MySQL,或者找一台能连RDS的VPC内机器,执行这条SQL查看用户的允许来源:
    SELECT user, host FROM mysql.user WHERE user = 'mysuperuser';
    
  • 如果结果里的host是localhost或者某个固定IP,那EC2的私网IP不在允许列表里,肯定会被拒绝。这时候需要修改权限,把EC2所在的VPC网段或者EC2的具体私网IP加进去:
    -- 比如你的默认VPC网段是172.31.0.0/16,允许这个网段的所有机器访问
    GRANT ALL PRIVILEGES ON *.* TO 'mysuperuser'@'172.31.0.0/16' IDENTIFIED BY 'mypassword';
    -- 或者更严格,只允许你的EC2私网IP(比如172.31.10.20)访问
    -- GRANT ALL PRIVILEGES ON *.* TO 'mysuperuser'@'172.31.10.20' IDENTIFIED BY 'mypassword';
    FLUSH PRIVILEGES;
    
    执行完记得刷新权限,不然不会生效。

2. 核对连接命令的参数是否正确

别笑,有时候手滑输错参数也会触发这个错误:

  • 你在EC2上执行的连接命令应该是这样的(替换成你的RDS实际端点):
    mysql -h mydbinstance.xxxxxx.region.rds.amazonaws.com -u mysuperuser -p
    
    然后手动输入密码mypassword,注意:
    • 不要把密码直接写在命令行里(不安全而且容易输错)
    • 确认RDS端点是对的,在RDS控制台的实例详情里能找到完整的端点地址
    • 用户名mysuperuser注意大小写(MySQL默认不区分,但如果创建时特意设置了区分就得严格对应)

3. 检查RDS的安全组入站规则

就算在同一个VPC,如果RDS的安全组没开放EC2的访问权限,也会出问题(有时候是超时,但偶尔也会表现为权限拒绝):

  • 打开RDS控制台,找到mydbinstance的关联安全组,进入安全组详情页
  • 查看入站规则,有没有一条允许MySQL默认端口(3306)的规则,来源是EC2的安全组ID、EC2的私网IP,或者整个VPC的网段
  • 如果没有,赶紧加一条:
    • 类型选「MySQL/Aurora」(端口自动填3306)
    • 来源选EC2的安全组,或者输入EC2私网IP/32,或者VPC的CIDR段
    • 协议选TCP

4. 确认EC2的安全组出站规则

虽然EC2默认安全组允许所有出站流量,但如果你的EC2安全组被修改过,可能禁止了到3306端口的出站:

  • 进入EC2的安全组详情,查看出站规则,确认有允许TCP 3306端口的规则,目标可以是0.0.0.0/0(宽松)或者RDS的私网IP/32(严格)

5. 排查IAM数据库认证是否开启

如果你创建RDS的时候不小心开了IAM数据库认证,那用普通密码连接肯定会被拒绝:

  • 到RDS实例详情的「配置」标签,看「IAM数据库认证」是不是开启状态
  • 如果是开启的,你得给EC2绑定对应的IAM角色,然后用IAM生成的临时密码连接,而不是用mypassword

6. 确认RDS实例状态正常

最后再确认下RDS实例是不是处于可用状态,要是它正在重启、维护或者创建中,也没法正常连接。


先从用户权限和安全组这两点开始查,这是最常见的原因。

内容的提问来源于stack exchange,提问作者John Difool

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 08:27:25