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

JMeter连接AWS RDS报java.sql.SQLException无法创建连接问题咨询

JMeter连接AWS RDS MySQL通信链路失败排查方案

1. 网络连通性排查(90%以上该报错属于这类问题)

  • 先在运行JMeter的设备上执行端口连通性测试,命令参考:telnet <RDS实例域名> 3306,如果连接失败直接定位为网络不通问题
  • 检查RDS实例的安全组入站规则,确认已放通运行JMeter设备的公网IP(公网访问场景)或VPC内网IP(同VPC访问场景)的3306端口访问权限
  • 若JMeter在公网环境运行,确认RDS实例已开启「公共可访问性」权限,未开启公网权限的RDS无法被外网设备访问
  • 检查运行JMeter的本地网络是否存在防火墙、代理规则,限制了3306端口的出站访问

2. JDBC连接配置修正

  • MySQL 8.0版本的标准JDBC URL格式如下,缺少必填参数会直接导致连接失败:
    jdbc:mysql://<RDS实例域名>:3306/<数据库名>?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC
    • 必须添加useSSL=false:未配置SSL证书的RDS默认不开启SSL验证,不加该参数会导致握手失败
    • 必须添加allowPublicKeyRetrieval=true:避免密码认证阶段公钥获取失败的问题
    • 必须指定serverTimezone参数,和RDS实例的时区保持一致,推荐先填UTC测试
  • 确认JDBC Driver Class填写为com.mysql.cj.jdbc.Driver,不要使用旧版本的com.mysql.jdbc.Driver
  • 确认数据库用户名、密码填写正确,RDS的数据库用户名是创建实例时指定的主用户名,不是AWS平台的账号密码

3. RDS实例配置排查

  • 确认RDS实例状态为「可用」,未处于停止、维护、重启状态
  • 确认URL中填写的数据库名在RDS实例中真实存在,无拼写错误
  • 确认RDS实例参数组中的max_connections参数未达到上限,没有拒绝新连接的情况

4. JMeter环境排查

  • 确认将mysql-connector-java-8.0.25.jar放到JMeter的lib目录后,已经重启JMeter生效
  • 确认JDBC Connection Configuration配置的变量名,和JDBC Request中引用的变量名完全一致,大小写无误差
  • 删除JMeter lib目录下其他版本的MySQL驱动包,避免版本冲突
  • 初次测试时JDBC请求可以先写简单的select 1语句,排除SQL本身错误导致的连接异常

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.18 15:27:02