在 WSL 中安装 MongoDB

evo*_*kid 14 mongodb windows-subsystem-for-linux

看到文档后,我试图在运行 Ubuntu 18.04 的 WSL 中安装 MongoDB 。但是 MongoDB 说:

重要事项Ubuntu 提供
mongodb包不是由 MongoDB Inc. 维护的,与官方mongodb-org包冲突。如果你已经在你的 Ubuntu 系统上安装了 mongodb 包,你必须先卸载 mongodb 包,然后才能继续这些说明。

MongoDB 还说 WSL 不支持 mongodb-org

适用于 LINUX 的 WINDOWS 子系统 (WSL) - 不受支持
MongoDB 不支持适用于 Linux 的 Windows 子系统 (WSL)。

所以,我安装mongod使用sudo apt install mongodb,当我运行mongo它显示错误:

connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
2020-06-21T13:33:40.606+0530 E  QUERY    [js] Error: couldn't connect to server 127.0.0.1:27017
Run Code Online (Sandbox Code Playgroud)

有没有办法安装适当的软件包并使其运行?

小智 39

我最近遇到了这种情况。

尽管 MongoDB 说 WSL 不支持它,但您实际上可以安装它。因此,我建议您遵循 MongoDB 文档中给出的步骤。

注意:如果您已经安装,mongodb请在安装前删除所有这些,mongodb-org因为它可能会在安装过程中导致一些问题:

sudo dpkg --remove --force-remove-reinstreq mongo-tools
sudo dpkg --remove --force-remove-reinstreq mongodb-server-core
sudo apt-get --fix-broken install
Run Code Online (Sandbox Code Playgroud)

为了安装 mongodb 社区版,我添加了以下命令:

wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add -
sudo apt-get install gnupg
wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add -
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.2.list

sudo apt-get update
sudo apt-get install -y mongodb-org
Run Code Online (Sandbox Code Playgroud)

现在,要运行 mongoDB,

sudo nano /etc/init.d/mongod
Run Code Online (Sandbox Code Playgroud)

并将此链接中的内容粘贴到文件中并保存。

#give permissions
sudo chmod +x /etc/init.d/mongod

#start the service
sudo service mongod start
Run Code Online (Sandbox Code Playgroud)

现在,您可以运行mongo以访问数据库。

希望能帮助到你。

  • 运行命令“sudo apt-get install -y mongodb-org”给我多个错误:“系统尚未使用 systemd 作为 init 系统(PID 1)启动。无法操作。无法连接到总线:主机已关闭 dpkg:处理包 mongodb-org-server 时出错(--configure):已安装 mongodb-org-server 包安装后脚本子进程返回错误退出状态 1` 设置 mongodb-org 失败-server 会导致依赖于它的 mongodb-org 出现依赖问题。 (12认同)
  • 此外,使用“sudo service mongod start”启动数据库失败。 (2认同)

小智 7

如果您尝试使用 Ubuntu 18.04(显然在 19.10 中)但在 20.04 中无效,则@bonyem的解决方案有效。WSL 版本应为 2(请参阅更新 WSL)。

您还需要按照https://github.com/shayne/wsl2-hacks 中提到的步骤“伪造”bash 二进制文件,以使 systemctl 工作。


pho*_*cks 7

这对我有用。

跑步sudo apt install mongodb

然后安装后运行sudo service mongodb start

它会说* Starting database mongodb

之后我可以使用连接mongo

  • 这将安装版本 3.6,而不是最新版本 4.4 (4认同)

Ble*_*ing 6

我尝试了上面所有的方法,但没有一个方法有效。我看到了微软的官方文档,一切都很顺利。

https://learn.microsoft.com/en-us/windows/wsl/tutorials/wsl-database#install-mongodb


归档时间:

查看次数:

16697 次

最近记录:

4 年,7 月 前