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

如何用Windows本地MongoDB Compass连接WSL2中的MongoDB Server

解决Windows 10本地MongoDB Compass连接WSL2中MongoDB Server的问题

问题背景

Windows 10本地安装的MongoDB Compass无法连接WSL2(Ubuntu 18.04)中部署的MongoDB 6.0.5服务,使用默认mongodb://localhost:27017连接时仅显示默认系统库,无法看到WSL2中创建的myNewDB数据库。

环境信息

  • Linux发行版:Ubuntu 18.04
  • MongoDB版本:6.0.5
  • Mongosh版本:1.8.2

当前可正常操作

  • 在WSL2中通过sudo service mongodb start等命令管理MongoDB服务
  • 在WSL2的mongosh中成功创建myNewDB数据库及myNewCollection集合

核心原因

WSL2拥有独立的网络命名空间,其localhost仅指向自身虚拟机内部,而Windows的localhost指向宿主机网络栈。同时默认MongoDB配置仅监听127.0.0.1,拒绝外部(包括Windows宿主机)的连接请求。

解决方案步骤

1. 修改MongoDB绑定配置

在WSL2中编辑MongoDB配置文件:

sudo nano /etc/mongodb.conf

找到bindIp配置项,将其从默认的127.0.0.1修改为0.0.0.0(允许所有网卡监听):

bindIp = 0.0.0.0

保存并退出编辑器(按Ctrl+O,回车确认,再按Ctrl+X)。

2. 重启MongoDB服务

sudo service mongodb restart

3. 获取WSL2的IP地址

在WSL2终端中执行以下命令获取内部IP:

hostname -I

输出结果中第一个IP即为WSL2的专属IP(格式类似172.x.x.x)。

4. 在MongoDB Compass中连接

打开Compass,使用以下URI格式替换为获取到的WSL2 IP:

mongodb://[WSL2_IP]:27017

点击连接后即可看到WSL2中创建的myNewDB数据库。

已尝试无效方案说明

  • 重启WSL2并关闭Windows快速启动:无法解决网络命名空间隔离问题
  • 使用Windows宿主机IP或resolv.conf中的IP连接:MongoDB未开放外部监听,导致超时

临时替代方案(已验证可用)

在WSL2实例的VSCode中安装MongoDB扩展,可直接在IDE内可视化查看WSL2中的MongoDB数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 15:17:08