通过MySQL Workbench连接Azure MySQL服务器提示无法连接localhost怎么办
错误原因解释
你填写公网IP却出现localhost连接提示,核心是以下3种情况:
- MySQL Workbench连接类型选错为
Local Socket/Pipe,该模式下会忽略你填写的远程IP,强制走本地套接字连接本地MySQL服务 - 本地MySQL配置文件(Windows为
my.ini、macOS/Linux为my.cnf)配置了default-host=localhost全局参数,覆盖了Workbench中填写的连接地址 - Azure MySQL用户名格式不符合要求,触发服务端异常报错逻辑,返回了错误的连接提示
修复步骤
- 修正Workbench连接配置
- 打开对应连接的编辑界面,连接类型必须选择Standard TCP/IP,禁止选择Local Socket/Pipe、SSH隧道等其他类型
- 用户名必须填写为
My_Username@你的Azure MySQL实例名,Azure MySQL要求身份认证必须携带实例名后缀,否则会被拦截 - 检查SSL配置:如果你的Azure MySQL开启了强制SSL传输,需要在SSL选项卡勾选「Use SSL」,否则连接会被拒绝
- 验证本地网络连通性
- 执行网络连通性测试:Windows PowerShell执行
Test-NetConnection 13.93.84.xx -Port 3306,macOS/Linux执行nc -zv 13.93.84.xx 3306,确认3306端口出站没有被本地防火墙、VPN、公司网关拦截
- 执行网络连通性测试:Windows PowerShell执行
- 核对Azure侧配置
- 确认你添加的入站规则IP是你的公网出口IP(可通过公网IP查询工具获取,运营商NAT场景下和你本地网卡IP不一致)
- 确认Azure MySQL实例没有配置为仅允许VNet内部访问,公网访问开关已开启
内容的提问来源于stack exchange,提问作者Madriesen
相关产品推荐
相关产品推荐

