工作PC可连通PostgreSQL RDS但无法连接MySQL RDS(报ETIMEDOUT)
AWS RDS MySQL 办公网连接ETIMEDOUT故障排查方案
核心判定前提:家用网络下可正常连接同账号下PostgreSQL、MySQL两类RDS实例,且已将RDS安全组入站规则放开至0.0.0.0/0仍无法在办公网连接MySQL,报错connect ETIMEDOUT,可排除RDS实例公网访问配置、安全组规则、账号密码/库权限类问题,按以下优先级排查:
1. 优先排查办公网出口防火墙端口拦截
这是该场景下最高发的原因:
- 绝大多数企业办公网出口防火墙会默认封禁3306、6379等常见数据存储服务的默认公网端口,避免内部数据外泄;而PostgreSQL默认用5432端口,很多企业不会专门封禁该端口,就会出现同环境下PG可连、MySQL连不上的现象。
- 验证操作:
- Windows系统打开PowerShell,执行
Test-NetConnection <你的RDS MySQL实例端点> -Port 3306,如果返回结果中TcpTestSucceeded为False,即可确认端口链路不通。 - Mac/Linux系统打开终端,执行
nc -zv <你的RDS MySQL实例端点> 3306,如果返回Connection timed out即为链路拦截。
- Windows系统打开PowerShell,执行
- 解决方案:
- 临时测试可修改RDS MySQL实例的监听端口为办公网放行的端口(如5432、8443、443等),修改后等待实例重启生效再尝试连接。
- 长期使用可联系公司IT运维部门,申请办公网出口到RDS MySQL实例公网端点3306端口的访问白名单。
- 合规场景下可通过公司指定的跳板机、VPN通道访问RDS资源,绕开公网出口拦截。
2. 核对RDS MySQL实例的子网路由配置
- 不要因为同VPC下PG可连就跳过该检查:进入VPC控制台,查看MySQL实例所在子网绑定的路由表,确认存在目标为
0.0.0.0/0、下一跳为互联网网关(igw-xxxx)的路由条目。如果MySQL实例被误分配到仅绑定NAT网关的私有子网,会出现公网无法连接的问题。 - 额外确认:RDS MySQL实例详情页的「公开可访问」选项确实为
是,避免实例重启后配置回退。
3. 排查本地工作PC的出站拦截
- 检查工作PC安装的EDR终端安全软件、第三方杀毒软件、系统自带防火墙的出站规则,确认没有配置3306端口的外发连接拦截。
- 验证操作:可临时关闭系统防火墙及第三方安全软件1分钟,重新发起连接测试,如果连接成功即可定位为本地拦截,添加对应出站放行规则即可恢复。
排查注意项
- 你提到的RDS证书有效期问题不会触发ETIMEDOUT报错:证书异常只会在TCP连接建立后的SSL握手阶段抛出证书校验失败类错误,不属于当前故障的排查范围,无需优先处理。
- 不要反复修改安全组规则:安全组为实例级别防火墙,放开0.0.0.0/0后仍连接超时即可完全排除安全组配置问题,无需重复调整该配置。
内容的提问来源于stack exchange,提问作者DaiKFD
相关产品推荐
相关产品推荐

