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

SpringBoot应用连接MySQL RDS实例失败,mvn install及Workbench均报错

MySQL RDS与SpringBoot连接失败排查(通信链路故障)

我创建了一个要和SpringBoot应用连接的MySQL RDS实例,已经把「公开访问」(Publicly accessible)设为「是」,还添加了允许所有IP访问数据库的入站和出站规则,但执行mvn install时出现以下错误:

com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure

application.properties配置内容

# datasource configuration
spring.datasource.url=jdbc:mysql://database-1.cem1nmqwwcw4.ap-northeast-1.rds.amazonaws.com:3306/twtappdb?allowPublicKeyRetrieval=true&&useSSL=false
spring.datasource.username=root
spring.datasource.password=Pass#1234
# port customization
server.port=5000

#Hibernate properties
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect

spring.jpa.hibernate.ddl-auto=update

用MySQL Workbench连接该数据库时同样失败,错误提示无法连接到指定RDS实例。

安全组相关配置说明

  • 入站规则:配置了允许所有IP(0.0.0.0/0)通过3306端口访问
  • 出站规则:配置了允许所有IP(0.0.0.0/0)访问所有端口
  • RDS关联安全组:当前RDS实例已关联上述配置的安全组

疑问

是否是安全组规则配置存在错误?


排查与解决建议

1. 优先修正URL参数错误

你的数据库URL里用了&&分隔参数,这是错误的,URL参数分隔符应为单个&,修正后的URL:

spring.datasource.url=jdbc:mysql://database-1.cem1nmqwwcw4.ap-northeast-1.rds.amazonaws.com:3306/twtappdb?allowPublicKeyRetrieval=true&useSSL=false

这个低级错误会直接导致JDBC无法正确解析数据库地址,先改这个再测试。

2. 安全组配置细节检查

  • 入站规则核心验证:确认入站规则的协议是TCP,端口范围是3306,来源是0.0.0.0/0(或你的本地公网IP,更安全)。如果协议选成UDP、端口填错,都会直接阻断连接。
  • 安全组关联确认:检查RDS实例是否真的绑定了配置好的这个安全组——有时候会不小心选错安全组,导致规则不生效。
  • 出站规则无需调整:当前出站规则允许所有访问是没问题的,RDS只需要能回包给客户端,这个配置不会导致连接失败。

3. RDS实例网络配置验证

  • 确认RDS所在的VPC子网具备公网访问能力:如果是私有子网且未配置NAT网关,哪怕开了「公开访问」,外部也无法连接。可以在RDS控制台查看实例的「网络」信息,确认是否有公网IP。
  • 确认RDS实例状态为**「可用」**:初始化中或故障中的实例无法正常接受连接。

4. 本地网络连通性测试

在本地终端执行以下命令测试端口连通性:

telnet database-1.cem1nmqwwcw4.ap-northeast-1.rds.amazonaws.com 3306
# 或用nc命令(若已安装)
nc -zv database-1.cem1nmqwwcw4.ap-northeast-1.rds.amazonaws.com 3306

如果连接超时,说明本地网络(如公司防火墙、家庭路由器)阻断了3306端口,需要调整本地网络规则,或改用AWS VPN/云服务器连接测试。

5. 数据库账号权限验证

如果上述都没问题,可通过EC2连接RDS后,执行以下SQL检查root账号的访问权限:

SELECT host FROM mysql.user WHERE user='root';

如果结果不是%,说明root账号只允许特定IP访问,需执行以下命令修改:

ALTER USER 'root'@'%' IDENTIFIED BY 'Pass#1234';
FLUSH PRIVILEGES;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 02:01:10