如何在 Ubuntu 上安装 MongoDB

2024年 7月 18日 31.8k 0

本教程介绍了在 Ubuntu 和基于 Ubuntu 的 Linux 发行版上安装 MongoDB 的两种方法。

MongoDB 是一个越来越流行的自由开源的 NoSQL 数据库,它将数据存储在类似 JSON 的灵活文档集中,这与 SQL 数据库中常见的表格形式形成对比。

你很可能发现在现代 Web 应用中使用 MongoDB。它的文档模型使得使用各种编程语言能非常直观地访问和处理它。

如何在 Ubuntu 上安装 MongoDB-1

在本文中,我将介绍两种在 Ubuntu 上安装 MongoDB 的方法。

在基于 Ubuntu 的发行版上安装 MongoDB

  • 使用 Ubuntu 仓库安装 MongoDB。简单但不是最新版本的 MongoDB
  • 使用其官方仓库安装 MongoDB。稍微复杂,但你能得到最新版本的 MongoDB。
  • 第一种安装方法更容易,但如果你计划使用官方支持的最新版本,那么我建议使用第二种方法。

    有些人可能更喜欢使用 snap 包。Ubuntu 软件中心提供了 snap,但我不建议使用它们,因为他们现在已经过期了,因此我这里不会提到。

    方法 1:从 Ubuntu 仓库安装 MongoDB

    这是在系统中安装 MongoDB 的简便方法,你只需输入一个命令即可。

    安装 MongoDB

    首先,确保你的包是最新的。打开终端并输入:

    sudo apt update && sudo apt upgrade -y
    

    继续安装 MongoDB:

    sudo apt install mongodb
    

    这就完成了!MongoDB 现在安装到你的计算机上了。

    MongoDB 服务应该在安装时自动启动,但要检查服务状态:

    sudo systemctl status mongodb
    

    如何在 Ubuntu 上安装 MongoDB-2

    你可以看到该服务是活动的。

    运行 MongoDB

    MongoDB 目前是一个 systemd 服务,因此我们使用 systemctl 来检查和修改它的状态,使用以下命令:

    sudo systemctl status mongodb
    sudo systemctl stop mongodb
    sudo systemctl start mongodb
    sudo systemctl restart mongodb
    

    你也可以修改 MongoDB 是否自动随系统启动(默认:启用):

    sudo systemctl disable mongodb
    sudo systemctl enable mongodb
    

    要开始使用(创建和编辑)数据库,请输入:

    mongo
    

    这将启动 mongo shell。有关查询和选项的详细信息,请查看手册。

    **注意:**根据你计划使用 MongoDB 的方式,你可能需要调整防火墙。不过这超出了本篇的内容,并且取决于你的配置。

    卸载 MongoDB

    如果你从 Ubuntu 仓库安装 MongoDB 并想要卸载它(可能要使用官方支持的方式安装),请输入:

    sudo systemctl stop mongodb
    sudo apt purge mongodb
    sudo apt autoremove
    

    这应该会完全卸载 MongoDB。确保备份你可能想要保留的任何集合或文档,因为它们将被删除!

    方法 2:在 Ubuntu 上安装 MongoDB 社区版

    这是推荐的安装 MongoDB 的方法,它使用包管理器。你需要多打几条命令,对于 Linux 新手而言,这可能会感到害怕。

    但没有什么可怕的!我们将一步步说明安装过程。

    安装 MongoDB

    由 MongoDB Inc. 维护的包称为 mongodb-org,而不是 mongodb(这是 Ubuntu 仓库中包的名称)。在开始之前,请确保系统上未安装 mongodb。因为包之间会发生冲突。让我们开始吧!

    首先,我们必须导入公钥:

    sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
    

    现在,你需要在源列表中添加一个新的仓库,以便你可以安装 MongoDB 社区版并获得自动更新:

    echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu $(lsb_release -cs)/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list
    

    要安装 mongodb-org,我们需要更新我们的包数据库,以便系统知道可用的新包:

    sudo apt update
    

    现在你可以安装最新稳定版的 MongoDB:

    sudo apt install -y mongodb-org
    

    或者某个特定版本(在 = 后面修改版本号)

    sudo apt install -y mongodb-org=4.0.6 mongodb-org-server=4.0.6 mongodb-org-shell=4.0.6 mongodb-org-mongos=4.0.6 mongodb-org-tools=4.0.6
    

    如果你选择安装特定版本,请确保在所有位置都修改了版本号。如果你修改了 mongodb-org=4.0.6,你将安装最新版本。

    默认情况下,使用包管理器(apt-get)更新时,MongoDB 将更新为最新的版本。要阻止这种情况发生(并冻结为已安装的版本),请使用:

    echo "mongodb-org hold" | sudo dpkg --set-selections
    echo "mongodb-org-server hold" | sudo dpkg --set-selections
    echo "mongodb-org-shell hold" | sudo dpkg --set-selections
    echo "mongodb-org-mongos hold" | sudo dpkg --set-selections
    echo "mongodb-org-tools hold" | sudo dpkg --set-selections
    

    你现在已经成功安装了 MongoDB!

    配置 MongoDB

    默认情况下,包管理器将创建 /var/lib/mongodb/var/log/mongodb,MongoDB 将使用 mongodb 用户帐户运行。

    我不会去更改这些默认设置,因为这超出了本指南的范围。有关详细信息,请查看手册。

    /etc/mongod.conf 中的设置在启动/重新启动 mongodb 服务实例时生效。

    运行 MongoDB

    要启动 mongodb 的守护进程 mongod,请输入:

    sudo service mongod start
    

    现在你应该验证 mongod 进程是否已成功启动。此信息(默认情况下)保存在 /var/log/mongodb/mongod.log 中。我们来看看文件的内容:

    sudo cat /var/log/mongodb/mongod.log
    

    如何在 Ubuntu 上安装 MongoDB-3

    只要你在某处看到:[initandlisten] waiting for connections on port 27017,就说明进程正常运行。

    注意:27017 是 mongod 的默认端口。

    要停止/重启 mongod,请输入:

    sudo service mongod stop
    sudo service mongod restart
    

    现在,你可以通过打开 mongo shell 来使用 MongoDB:

    mongo
    

    卸载 MongoDB

    运行以下命令:

    sudo service mongod stop
    sudo apt purge mongodb-org*
    

    要删除数据库和日志文件(确保备份你要保留的内容!):

    sudo rm -r /var/log/mongodb
    sudo rm -r /var/lib/mongodb
    

    总结

    MongoDB 是一个很棒的 NoSQL 数据库,它易于集成到现代项目中。我希望本教程能帮助你在 Ubuntu 上安装它!在下面的评论中告诉我们你计划如何使用 MongoDB。

    via: https://itsfoss.com/install-mongodb-ubuntu

    作者:Sergiu 选题:lujun9972 译者:geekpi 校对:wxy

    本文由 LCTT 原创编译,Linux中国 荣誉推出

    相关文章

    Linux 命令行的聊天工具 CenterIM
    Linux 桌面年仍未到来 但 Linux 移动之年已到来
    12 个在线学习 Linux 技能网站
    Linux Mint : 会是另一个新的 Ubuntu 吗?
    W3Conf 开发者大会将于下周召开
    Ubuntu 10.04 ARM 处理器上网本版本结束服务期

    发布评论