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

MySQL JDBC通信链路失败求助(Windows+WSL环境)

MySQL JDBC连接本地数据库报Connection Refused的排查方案

问题背景

使用JavaFX+JDBC连接本地MySQL时,DriverManager.getConnection()抛出连接拒绝错误,核心栈跟踪片段如下:

Caused by: java.net.ConnectException: Connection refused

环境:Windows 10 + VSCode + Debian WSL编译运行,已安装MySQL Server/Workbench/Connector/J 8.0.33,可正常连接在线数据库,小组其他成员能连接本地库,尝试过关闭防火墙、调整JDBC URL、修改my.ini、重装/降级MySQL、检查权限等常规方案均无效。

出错代码:

public Connection dbconnect() {
    Connection conn = null;
    try {
      conn = DriverManager
          .getConnection(
              "jdbc:mysql://127.0.0.1:3306/cookbook?user=root&password=ABC&useSSL=false");
    } catch (SQLException e) {
      System.out.println(e.getMessage());
    }
    return conn;
  }

针对性排查思路

  • 修正WSL与Windows的网络互通问题
    WSL2的127.0.0.1是自身回环地址,无法直接访问Windows本地的MySQL服务:

    1. 在Windows命令行执行ipconfig,找到本地网卡的IPv4地址(如192.168.1.105)
    2. 在WSL终端测试连通性:ping 192.168.1.105,再测试端口:nc -zv 192.168.1.105 3306
    3. 将JDBC URL中的127.0.0.1替换为该Windows主机IP,同时添加时区参数避免额外异常:
      jdbc:mysql://192.168.1.105:3306/cookbook?user=root&password=ABC&useSSL=false&serverTimezone=UTC
      
  • 确认MySQL绑定的监听地址

    1. 打开Windows下的MySQL配置文件(my.ini/my.cnf),找到bind-address配置项
    2. 将其从127.0.0.1修改为0.0.0.0(允许所有IP访问)或Windows主机IP
    3. 重启MySQL服务,执行netstat -ano | findstr :3306确认监听地址已变更
  • 严格验证MySQL用户的连接权限

    1. 通过Workbench登录MySQL,执行查询:
      SELECT user, host FROM mysql.user;
      
    2. 若root用户的host为localhost,则仅允许Windows本地连接,需更新权限:
      ALTER USER 'root'@'%' IDENTIFIED BY 'ABC';
      FLUSH PRIVILEGES;
      

    (注:%允许所有IP访问,测试完成后可改为WSL的IP段以提升安全性)

  • 检查WSL内部的网络规则
    Debian WSL默认可能启用iptables,临时清空规则测试:

    sudo iptables -F
    

    若连接恢复,需调整iptables规则允许出站访问3306端口。

  • 切换WSL版本测试
    WSL1与Windows共享网络栈,127.0.0.1可直接访问Windows服务,可尝试将WSL切换为版本1:

    # 在Windows PowerShell中执行
    wsl --set-version Debian 1
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 01:45:31