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

AWS EC2中Spring Boot JDBC连接RDS始终解析为本地IP问题

问题分析与解决

你遇到的核心问题是MySQL用户权限的来源限制:虽然EC2能通过命令行连接RDS,但Spring Boot使用的admin用户未被授权从EC2的内部IP(10.10.11.6)访问RDS数据库。

验证用户权限

先通过命令行登录RDS的MySQL实例,执行以下命令查看admin用户的授权来源:

SELECT user, host FROM mysql.user WHERE user = 'admin';

如果结果里host列不是%(允许所有IP)或10.10.11.6(你的EC2内部IP),就会出现Access denied错误——MySQL的权限是严格绑定连接发起IP的。

授予对应权限

根据你的场景,选择以下一种方式授权:

  1. 仅允许当前EC2 IP访问:
GRANT ALL PRIVILEGES ON nssf_ussd.* TO 'admin'@'10.10.11.6' IDENTIFIED BY '你的数据库密码';
FLUSH PRIVILEGES;
  1. 允许整个VPC内部IP段访问(如果后续EC2 IP可能变化):
GRANT ALL PRIVILEGES ON nssf_ussd.* TO 'admin'@'10.10.%' IDENTIFIED BY '你的数据库密码';
FLUSH PRIVILEGES;
  1. 允许任意IP访问(不推荐生产环境):
GRANT ALL PRIVILEGES ON nssf_ussd.* TO 'admin'@'%' IDENTIFIED BY '你的数据库密码';
FLUSH PRIVILEGES;

额外检查点

  • 确认Spring Boot配置中的username确实是admin(你提到修改用户名错误信息同步更新,这一点应该没问题)
  • 确保RDS的安全组已经允许EC2所在的安全组/IP访问3306端口(命令行能连接,说明这一步已经配置正确)

内容的提问来源于stack exchange,提问作者Makamu Evans

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 03:52:11