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

Ubuntu 20.04 VPS部署MySQL Server远程连接失败问题求助

错误核心判定

返回ERROR 2003 (HY000) (113)/EHOSTUNREACH errno -113 属于网络层主机不可达错误,请求包根本没有到达VPS的MySQL服务端口,和MySQL本身的bind-address配置、账号权限设置无关,之前针对MySQL做的所有调整都不会解决这个报错。

按优先级排查步骤
  • 第一步:核对VPS实际公网IP
    从你附的mysqld.cnf配置可见,你曾经注释过的bind-address值是82.165.117.119,但你远程连接使用的IP是82.165.117.19,两个IP数值差一位。登录VPS执行ip a,确认网卡绑定的实际公网IP,排除输错IP的低级问题。
  • 第二步:检查云厂商侧安全组规则
    你只在VPS系统内部的ufw防火墙放行了3306端口,绝大多数VPS服务商都会在云平台控制台额外加一层独立的入站安全组规则,这层规则不受VPS系统内部配置影响,默认仅放行22、80、443端口。需要登录VPS服务商的控制台,在入站规则中新增允许TCP 3306端口的通行规则,范围可设置为仅允许你本地公网IP访问,降低安全风险。
  • 第三步:确认系统内部防火墙规则生效
    登录VPS执行sudo ufw status,确认3306端口的规则状态为ALLOW,没有被其他高优先级规则拦截。
  • 第四步:确认MySQL服务实际监听状态
    执行sudo netstat -tulpn | grep 3306,确认MySQL监听地址为0.0.0.0:3306,如果显示为127.0.0.1:3306,需要在/etc/mysql/mysql.conf.d/mysqld.cnf的[mysqld]段下新增一行bind-address = 0.0.0.0,执行sudo systemctl restart mysql重启服务让配置生效。
  • 第五步:本地连通性验证
    本地终端执行telnet <VPS实际公网IP> 3306,如果能收到MySQL返回的版本字符串,说明网络通路已建立,再测试MySQL账号登录即可。
常见问题误区
  • 账号权限错误的返回码为ERROR 1045,和本次的113错误无关,不需要在未打通网络通路前调整MySQL用户权限。
  • 所有MySQL配置修改完成后必须重启服务,否则配置不会生效。

内容的提问来源于stack exchange,提问作者Alexandre Schöne

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.25 12:45:02