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

如何实现同一机器上WSL2与Windows本地MySQL Server的连接?

WSL2连接Windows本地MySQL Server的解决方案

1. 获取Windows主机在WSL2中的可访问地址

在WSL2终端执行命令,找到nameserver对应的IP,这就是Windows主机在WSL网络中的入口:

cat /etc/resolv.conf

更简便的方式是直接使用内置域名host.docker.internal,WSL2会自动将其解析为Windows主机IP,无需手动查找。

2. 配置Windows本地MySQL允许外部访问

  • 打开MySQL配置文件(通常为my.ini或my.cnf,位于MySQL安装目录),找到bind-address项,修改为0.0.0.0(允许所有IP访问,适合本地测试),或指定WSL2子网IP段提升安全性。
  • 重启Windows的MySQL服务:打开「服务」管理器,找到MySQL服务右键选择「重启」。
  • 在MySQL中给目标账号授予跨IP访问权限(以克隆数据库为例):
    GRANT ALL PRIVILEGES ON 你的克隆数据库名.* TO '数据库用户名'@'%' IDENTIFIED BY '数据库密码';
    FLUSH PRIVILEGES;
    
    注:%表示允许所有IP访问,若想限制仅WSL访问,可替换为WSL2的IP地址(通过hostname -I在WSL终端获取)。

3. 修改Laravel项目的.env配置

将数据库连接地址替换为刚才获取的Windows主机IP或host.docker.internal:

DB_CONNECTION=mysql
DB_HOST=host.docker.internal  # 或你查到的Windows主机IP
DB_PORT=3306
DB_DATABASE=你的克隆数据库名
DB_USERNAME=数据库用户名
DB_PASSWORD=数据库密码

4. 检查Windows防火墙设置

确保Windows防火墙允许MySQL的3306端口入站:

  • 打开「Windows Defender防火墙」→「高级设置」→「入站规则」→「新建规则」
  • 选择「端口」→ 勾选「TCP」,输入3306→ 允许连接→ 完成规则创建。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 23:27:28