无法连接AWS MySQL RDS实例求助:Azure服务器报ERROR 2003错误
解决Azure Ubuntu服务器无法连接AWS RDS MySQL实例的问题
以下是逐步排查和解决的方案:
验证RDS实例基础状态
确认RDS实例处于*可用(Available)*状态,同时检查实例的「公有可访问性」设置是否为是(Yes)——若设为否,即使安全组放行也无法通过公网连接。排查Azure服务器本地防火墙
除NSG的出站规则外,检查Ubuntu服务器自身的ufw防火墙是否放行3306端口出站流量:sudo ufw status若未放行,执行命令添加规则:
sudo ufw allow out 3306/tcp测试网络连通性
在Azure服务器上用telnet或nc命令测试到RDS端点的连通性,确认网络链路是否通畅:telnet dbexample.something.ap-south-1.rds.amazonaws.com 3306 # 或使用nc命令 nc -zv dbexample.something.ap-south-1.rds.amazonaws.com 3306若连接超时,说明网络层面存在阻断,需进一步排查Azure侧的路由策略或额外防火墙限制。
确认RDS安全组与用户权限
- 检查RDS安全组的入站规则,确保协议为TCP、端口3306,且源地址包含Azure服务器的当前公网IP(若Azure服务器使用动态公网IP,需确认IP是否已更新到安全组)。
- 验证RDS的
admin用户是否允许从Azure IP连接:若能通过其他机器登录RDS,执行SQL查询:
若SELECT user, host FROM mysql.user WHERE user = 'admin';host字段不是%或Azure服务器IP,执行授权命令:GRANT ALL PRIVILEGES ON *.* TO 'admin'@'你的Azure公网IP' IDENTIFIED BY '你的密码'; FLUSH PRIVILEGES;
排查DNS解析问题
在Azure服务器上测试RDS端点的DNS解析是否正常:nslookup dbexample.something.ap-south-1.rds.amazonaws.com尝试用解析出的IP直接连接,排除DNS解析异常:
mysql -h 解析得到的IP地址 -P 3306 -u admin -p检查版本兼容性
确认Azure服务器上的MySQL客户端版本与RDS实例的MySQL版本兼容:mysql --version
内容的提问来源于stack exchange,提问作者Kawaljeet Singh
相关产品推荐
相关产品推荐

