如何在Ubuntu上安装MongoDB
本教程介绍了在 Ubuntu 和基于 Ubuntu 的 Linux 发行版上安装 MongoDB 的两种方法。
MongoDB 是一个越来越流行的自由开源的 NoSQL 数据库,它将数据存储在类似 JSON 的灵活文档集中,这与 SQL 数据库中常见的表格形式形成对比。
你很可能发现在现代 Web 应用中使用 MongoDB。它的文档模型使得使用各种编程语言能非常直观地访问和处理它。
在本文中,我将介绍两种在 Ubuntu 上安装 MongoDB 的方法。
在基于 Ubuntu 的发行版上安装 MongoDB
- 使用 Ubuntu 仓库安装 MongoDB。简单但不是最新版本的 MongoDB
- 使用其官方仓库安装 MongoDB。稍微复杂,但你能得到最新版本的 MongoDB。
第一种安装方法更容易,但如果你计划使用官方支持的最新版本,那么我建议使用第二种方法。
有些人可能更喜欢使用 snap 包。Ubuntu 软件中心提供了 snap,但我不建议使用它们,因为他们现在已经过期了,因此我这里不会提到。
方法 1:从 Ubuntu 仓库安装 MongoDB
这是在系统中安装 MongoDB 的简便方法,你只需输入一个命令即可。
安装 MongoDB
首先,确保你的包是最新的。打开终端并输入:
<span class="kwd">sudo</span><span class="pln"> apt update </span><span class="pun">&&</span><span class="pln"> </span><span class="kwd">sudo</span><span class="pln"> apt upgrade </span><span class="pun">-</span><span class="pln">y</span>
继续安装 MongoDB:
<span class="kwd">sudo</span><span class="pln"> apt install mongodb</span>
这就完成了!MongoDB 现在安装到你的计算机上了。
MongoDB 服务应该在安装时自动启动,但要检查服务状态:
<span class="kwd">sudo</span><span class="pln"> </span><span class="kwd">systemctl</span><span class="pln"> status mongodb</span>
Check if the MongoDB service is running.
你可以看到该服务是活动的。
运行 MongoDB
MongoDB 目前是一个 systemd 服务,因此我们使用 systemctl
来检查和修改它的状态,使用以下命令:
<span class="kwd">sudo</span><span class="pln"> </span><span class="kwd">systemctl</span><span class="pln"> status mongodb</span>
<span class="kwd">sudo</span><span class="pln"> </span><span class="kwd">systemctl</span><span class="pln"> stop mongodb</span>
<span class="kwd">sudo</span><span class="pln"> </span><span class="kwd">systemctl</span><span class="pln"> start mongodb</span>
<span class="kwd">sudo</span><span class="pln"> </span><span class="kwd">systemctl</span><span class="pln"> restart mongodb</span>
你也可以修改 MongoDB 是否自动随系统启动(默认:启用):
<span class="kwd">sudo</span><span class="pln"> </span><span class="kwd">systemctl</span><span class="pln"> disable mongodb</span>
<span class="kwd">sudo</span><span class="pln"> </span><span class="kwd">systemctl</span><span class="pln"> enable mongodb</span>
要开始使用(创建和编辑)数据库,请输入:
<span class="pln">mongo</span>
这将启动 mongo shell。有关查询和选项的详细信息,请查看手册。
注意:根据你计划使用 MongoDB 的方式,你可能需要调整防火墙。不过这超出了本篇的内容,并且取决于你的配置。
卸载 MongoDB
如果你从 Ubuntu 仓库安装 MongoDB 并想要卸载它(可能要使用官方支持的方式安装),请输入:
<span class="kwd">sudo</span><span class="pln"> </span><span class="kwd">systemctl</span><span class="pln"> stop mongodb</span>
<span class="kwd">sudo</span><span class="pln"> apt purge mongodb</span>
<span class="kwd">sudo</span><span class="pln"> apt autoremove</span>
这应该会完全卸载 MongoDB。确保备份你可能想要保留的任何集合或文档,因为它们将被删除!
方法 2:在 Ubuntu 上安装 MongoDB 社区版
这是推荐的安装 MongoDB 的方法,它使用包管理器。你需要多打几条命令,对于 Linux 新手而言,这可能会感到害怕。
但没有什么可怕的!我们将一步步说明安装过程。
安装 MongoDB
由 MongoDB Inc. 维护的包称为 mongodb-org
,而不是 mongodb
(这是 Ubuntu 仓库中包的名称)。在开始之前,请确保系统上未安装 mongodb
。因为包之间会发生冲突。让我们开始吧!
首先,我们必须导入公钥:
<span class="kwd">sudo</span><span class="pln"> apt</span><span class="pun">-</span><span class="pln">key adv </span><span class="pun">--</span><span class="pln">keyserver hkp</span><span class="pun">:</span><span class="com">//keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4</span>
现在,你需要在源列表中添加一个新的仓库,以便你可以安装 MongoDB 社区版并获得自动更新:
<span class="kwd">echo</span><span class="pln"> </span><span class="str">"deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu $(lsb_release -cs)/mongodb-org/4.0 multiverse"</span><span class="pln"> </span><span class="pun">|</span><span class="pln"> </span><span class="kwd">sudo</span><span class="pln"> </span><span class="kwd">tee</span><span class="pln"> </span><span class="pun">/</span><span class="pln">etc</span><span class="pun">/</span><span class="pln">apt</span><span class="pun">/</span><span class="pln">sources</span><span class="pun">.</span><span class="kwd">list</span><span class="pun">.</span><span class="pln">d</span><span class="pun">/</span><span class="pln">mongodb</span><span class="pun">-</span><span class="pln">org</span><span class="pun">-</span><span class="lit">4.0</span><span class="pun">.</span><span class="kwd">list</span>
要安装 mongodb-org
,我们需要更新我们的包数据库,以便系统知道可用的新包:
<span class="kwd">sudo</span><span class="pln"> apt update</span>
现在你可以安装最新稳定版的 MongoDB:
<span class="kwd">sudo</span><span class="pln"> apt install </span><span class="pun">-</span><span class="pln">y mongodb</span><span class="pun">-</span><span class="pln">org</span>
或者某个特定版本(在 =
后面修改版本号)
<span class="kwd">sudo</span><span class="pln"> apt install </span><span class="pun">-</span><span class="pln">y mongodb</span><span class="pun">-</span><span class="pln">org</span><span class="pun">=</span><span class="lit">4.0</span><span class="pun">.</span><span class="lit">6</span><span class="pln"> mongodb</span><span class="pun">-</span><span class="pln">org</span><span class="pun">-</span><span class="pln">server</span><span class="pun">=</span><span class="lit">4.0</span><span class="pun">.</span><span class="lit">6</span><span class="pln"> mongodb</span><span class="pun">-</span><span class="pln">org</span><span class="pun">-</span><span class="pln">shell</span><span class="pun">=</span><span class="lit">4.0</span><span class="pun">.</span><span class="lit">6</span><span class="pln"> mongodb</span><span class="pun">-</span><span class="pln">org</span><span class="pun">-</span><span class="pln">mongos</span><span class="pun">=</span><span class="lit">4.0</span><span class="pun">.</span><span class="lit">6</span><span class="pln"> mongodb</span><span class="pun">-</span><span class="pln">org</span><span class="pun">-</span><span class="pln">tools</span><span class="pun">=</span><span class="lit">4.0</span><span class="pun">.</span><span class="lit">6</span>
如果你选择安装特定版本,请确保在所有位置都修改了版本号。如果你修改了 mongodb-org=4.0.6
,你将安装最新版本。
默认情况下,使用包管理器(apt-get
)更新时,MongoDB 将更新为最新的版本。要阻止这种情况发生(并冻结为已安装的版本),请使用:
<span class="kwd">echo</span><span class="pln"> </span><span class="str">"mongodb-org hold"</span><span class="pln"> </span><span class="pun">|</span><span class="pln"> </span><span class="kwd">sudo</span><span class="pln"> dpkg </span><span class="pun">--</span><span class="kwd">set</span><span class="pun">-</span><span class="pln">selections</span>
<span class="kwd">echo</span><span class="pln"> </span><span class="str">"mongodb-org-server hold"</span><span class="pln"> </span><span class="pun">|</span><span class="pln"> </span><span class="kwd">sudo</span><span class="pln"> dpkg </span><span class="pun">--</span><span class="kwd">set</span><span class="pun">-</span><span class="pln">selections</span>
<span class="kwd">echo</span><span class="pln"> </span><span class="str">"mongodb-org-shell hold"</span><span class="pln"> </span><span class="pun">|</span><span class="pln"> </span><span class="kwd">sudo</span><span class="pln"> dpkg </span><span class="pun">--</span><span class="kwd">set</span><span class="pun">-</span><span class="pln">selections</span>
<span class="kwd">echo</span><span class="pln"> </span><span class="str">"mongodb-org-mongos hold"</span><span class="pln"> </span><span class="pun">|</span><span class="pln"> </span><span class="kwd">sudo</span><span class="pln"> dpkg </span><span class="pun">--</span><span class="kwd">set</span><span class="pun">-</span><span class="pln">selections</span>
<span class="kwd">echo</span><span class="pln"> </span><span class="str">"mongodb-org-tools hold"</span><span class="pln"> </span><span class="pun">|</span><span class="pln"> </span><span class="kwd">sudo</span><span class="pln"> dpkg </span><span class="pun">--</span><span class="kwd">set</span><span class="pun">-</span><span class="pln">selections</span>
你现在已经成功安装了 MongoDB!
配置 MongoDB
默认情况下,包管理器将创建 /var/lib/mongodb
和 /var/log/mongodb
,MongoDB 将使用 mongodb
用户帐户运行。
我不会去更改这些默认设置,因为这超出了本指南的范围。有关详细信息,请查看手册。
/etc/mongod.conf
中的设置在启动/重新启动 mongodb 服务实例时生效。
运行 MongoDB
要启动 mongodb 的守护进程 mongod
,请输入:
<span class="kwd">sudo</span><span class="pln"> service mongod start</span>
现在你应该验证 mongod
进程是否已成功启动。此信息(默认情况下)保存在 /var/log/mongodb/mongod.log
中。我们来看看文件的内容:
<span class="kwd">sudo</span><span class="pln"> </span><span class="kwd">cat</span><span class="pln"> </span><span class="pun">/</span><span class="kwd">var</span><span class="pun">/</span><span class="pln">log</span><span class="pun">/</span><span class="pln">mongodb</span><span class="pun">/</span><span class="pln">mongod</span><span class="pun">.</span><span class="pln">log</span>
Check MongoDB logs to see if the process is running properly.
只要你在某处看到:[initandlisten] waiting for connections on port 27017
,就说明进程正常运行。
注意:27017 是 mongod
的默认端口。
要停止/重启 mongod
,请输入:
<span class="kwd">sudo</span><span class="pln"> service mongod stop</span>
<span class="kwd">sudo</span><span class="pln"> service mongod restart</span>
现在,你可以通过打开 mongo shell 来使用 MongoDB:
<span class="pln">mongo</span>
卸载 MongoDB
运行以下命令:
<span class="kwd">sudo</span><span class="pln"> service mongod stop</span>
<span class="kwd">sudo</span><span class="pln"> apt purge mongodb</span><span class="pun">-</span><span class="pln">org</span><span class="pun">*</span>
要删除数据库和日志文件(确保备份你要保留的内容!):