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

MySQL Workbench连接私有访问Azure MySQL弹性服务器报错:无法连接localhost

解决Azure Database for MySQL Flexible Server私有访问连接问题(Unable to connect to localhost)

核心问题分析

你的问题核心是私有DNS解析失败,导致MySQL Workbench无法正确定位服务器,进而出现"Unable to connect to localhost"的异常 fallback 错误;同时需要排查网络连通性和连接配置细节。

分步解决思路

1. 确认私有DNS区域配置

  • 检查Azure门户中自动生成的私有DNS区域(通常为privatelink.mysql.database.azure.com)与目标VNet的链接状态:确保VNet已链接到该DNS区域,只有链接后的VNet(包括通过VPN接入的客户端)才能解析私有域名。
  • 验证DNS区域内的A记录:确认pw对应的A记录指向10.0.0.4,记录状态正常。

2. 修复客户端DNS解析

点到站点VPN默认不会自动推送Azure私有DNS服务器地址给客户端,需手动配置:

  • 临时测试方案:在本地hosts文件(Windows路径:C:\Windows\System32\drivers\etc\hosts;Linux/macOS路径:/etc/hosts)中添加映射:
    10.0.0.4  pw.mysql.database.azure.com
    
    添加后重新执行nslookup pw.mysql.database.azure.com,确认能解析到正确IP。
  • 永久解决方案:在Azure VPN网关的点到站点配置中,添加自定义DNS服务器,填入Azure私有DNS区域的服务器IP(可在DNS区域概览页获取);重新下载VPN客户端配置文件并导入,确保客户端使用该DNS服务器解析私有域名。

3. 验证网络连通性

VPN连接成功后,先排除网络层面的问题:

  • 执行ping 10.0.0.4,检查是否能连通服务器内网IP;如果ping不通,检查VNet的网络安全组(NSG):
    • 确认NSG入站规则允许来自点到站点地址池10.0.2.0/24的3306端口流量;
    • 确认MySQL服务器的防火墙规则已添加10.0.2.0/24地址段的访问权限。
  • 执行telnet 10.0.0.4 3306或nc -zv 10.0.0.4 3306,验证3306端口是否开放。

4. 修正MySQL Workbench连接配置

  • Hostname:确保填写完整的服务器FQDN pw.mysql.database.azure.com,不要误填localhost;
  • 用户名:使用正确格式pwuser@pw(用户名@服务器短名称,服务器短名称为pw);
  • SSL配置:
    • 先尝试临时关闭SSL(仅用于测试),如果能连接,再重新配置CA文件路径(确保路径正确,CA文件为Azure官方提供的证书);
    • 确认服务器是否强制SSL:可在Azure门户服务器的"连接安全"页查看,若强制SSL则必须开启并配置正确的CA文件。

5. 排查VPN连接细节

  • 确认VPN连接获取的内网IP属于10.0.2.0/24地址池;
  • 检查VPN客户端的路由表,确认目标VNet的10.0.0.0/24和10.0.1.0/24地址段已通过VPN路由。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 02:05:31