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

WSL2中Ubuntu的MySQL Server无法通过Windows端MySQL Workbench正常连接及显示数据库

WSL2 Ubuntu MySQL 允许Windows端GUI工具连接解决方案

问题根因说明

你当前遇到的现象本质是Windows本地和WSL2 Ubuntu内运行了两个完全独立的MySQL服务,二者数据、账号密码完全隔离,默认MySQL Workbench连接的是Windows本地的MySQL服务,因此和WSL2内数据不一致。

具体操作步骤

  • 第一步:修改WSL2内MySQL的监听配置
    默认Ubuntu的MySQL仅监听本地127.0.0.1地址,外部无法访问:
    1. 打开配置文件:sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
    2. 找到bind-address = 127.0.0.1配置项,修改为bind-address = 0.0.0.0
    3. 重启MySQL服务生效:sudo systemctl restart mysql
  • 第二步:给MySQL root账号开放远程访问权限
    默认root账号仅允许本地登录,需额外授权:
    1. 在WSL2终端登录MySQL:mysql -u root -p,输入Ubuntu端MySQL的root密码进入命令行
    2. 执行授权命令,替换为你自己的root密码:
    CREATE USER 'root'@'%' IDENTIFIED BY '你的Ubuntu MySQL root密码';
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
    FLUSH PRIVILEGES;
    
  • 第三步:确认WSL2的IP地址
    在WSL2终端执行ip addr show eth0,找到inet对应的IP段(格式一般为172.xx.xx.xx)

    若你使用Windows 11或Windows 10 21H2及以上版本,WSL2默认开启localhost转发,也可直接用localhost作为连接地址

  • 第四步:配置MySQL Workbench连接
    新建连接参数如下:
    • 主机名:填写上一步拿到的WSL2 IP地址(或localhost)
    • 端口:默认3306
    • 用户名:root
    • 密码:填写Ubuntu端MySQL的root密码,不要使用Windows本地MySQL的密码
  • 可选:放行WSL2防火墙端口
    若仍连接失败,执行sudo ufw allow 3306放行3306端口访问

常见优化

WSL2默认重启后IP会变化,若不想每次修改连接配置,可以自行配置WSL2静态IP、或者设置Windows端口转发到WSL2固定地址。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 01:54:00