准备在 Linux 上尝试 MongoDB,并选择了 Ubuntu 作为您的工作环境?非常明智的选择,因为整个过程相当简单,您很快就能让 MongoDB 运行起来!
在本教程中,我们将通过 Ubuntu 包管理器安装 MongoDB,并进行一些小的易用性改进,以更好地将您的安装与外部世界隔离和加固。您也可以查看视频指南。
虽然我们将演示原生安装体验,但如果您更愿意在 Ubuntu 上通过 Docker 使用 MongoDB,请查看我之前的教程:在 Docker 中运行 MongoDB。
先决条件
要顺利完成本教程,您需要使用较新的 Ubuntu 版本。我使用的是带有 ARM CPU 的 Ubuntu 25.04 桌面版,但其他 CPU 架构或 Ubuntu 服务器版一般也没有问题。
虽然用于操作 MongoDB 的工具相当灵活,但在本示例中,MongoDB Shell将是与 MongoDB 交互的主要工具。
使用包管理器在 Ubuntu 上安装 MongoDB 社区版
由于 Ubuntu 是极为流行的 Linux 发行版,安装 MongoDB 十分顺畅,就像安装其他软件包一样。流程包括将 MongoDB 添加为包管理器的软件源、安装软件包、然后运行已安装的软件包。
首先导入 MongoDB 的 GPG 密钥。在命令行中执行以下命令:
curl -fsSL https://www.mongodb.org/static/pgp/server-8.0.asc | sudo gpg -o /usr/share/keyrings/mongodb-server-8.0.gpg --dearmor技术支持
根据您希望使用的 MongoDB 主版本,以上命令和后续命令中的版本信息可能需要调整。本示例将使用 MongoDB 8.X。
导入 GPG 密钥后,我们可以继续创建软件包列表文件。执行以下命令:
echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] https://repo.mongodb.org/apt/ubuntu noble/mongodb-org/8.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list技术支持
需要说明的是:是的,我使用的是 Ubuntu 25.04(Plucky),而以上软件包列表引用的是 MongoDB 的 24.04(Noble)。这对我来说工作正常,但请在版本差异显著时保持关注,否则可能会产生意外结果。
此时,我们可以刷新计算机上的包管理器:
sudo apt-get update技术支持
要安装 MongoDB,执行以下命令:
sudo apt-get install -y mongodb-org技术支持
上述命令将安装 MongoDB 的最新版本,但如果您需要特定版本,可以在命令中包含版本信息,例如 mongodb-org=8.0.11。
此时 MongoDB 应该已安装在计算机上。不过,在安装完成的当下它可能并未运行。要在 Ubuntu 上运行 MongoDB,执行以下命令:
sudo systemctl start mongod技术支持
您可以通过使用 MongoDB Shell、MongoDB Compass 或任意类似工具连接到实例来验证 MongoDB 是否正常工作。
以MongoDB Shell为例,您可以执行以下命令:
mongosh "mongodb://localhost:27017"技术支持
当然,上述命令假定您在同一台计算机上连接该 MongoDB 实例。
如果需要停止、重启 MongoDB 等,您可以使用 Ubuntu 上常见的各类 systemctl 命令。
为 Ubuntu 上的 MongoDB 实例添加基础安全性
默认情况下,新安装的 MongoDB 是禁用身份验证的。根据您的用例,这可能没问题,但通常建议至少启用身份验证与授权。
当然,您可能还希望探索其他加固最佳实践,例如防火墙规则等。但在本教程范围内,为 Ubuntu 上的 MongoDB 设置用户名和密码是一个良好的起点。
在 Ubuntu 上执行以下命令:
sudo vi /etc/mongod.conf技术支持
如果您更愿意使用 nano 或其他工具编辑该文件,也完全可以。
定位到 #security 这一行,并将其修改为如下内容:
security:
authorization: "enabled"技术支持
保存文件后,执行以下命令重启 MongoDB 实例:
sudo systemctl restart mongod技术支持
我们还没完成。目前只是启用了身份验证,还需要创建管理员用户。
如果您使用的是MongoDB Shell,执行以下命令:
use admin;
db.createUser({
"user": "nraboy",
"pwd": "mongodb",
"roles": [
{
"role": "userAdminAnyDatabase",
"db": "admin"
}
]
});技术支持
您可能会希望将 user 和 pwd 更改为更合理且更安全的内容,这里仅作示例。
现在,当您想使用 MongoDB Shell 连接到 MongoDB 时,可以使用如下命令:
mongosh --host localhost --port 27017 -u nraboy -p --authenticationDatabase admin技术支持
根据您所用工具的不同,体验会略有差异,但思路可参考以上信息。
总结
您刚刚了解了如何在 Linux 主机(尤其是 Ubuntu)上部署 MongoDB。MongoDB 的优点之一是它非常容易安装并在各类硬件与环境中运行。
如果MongoDB Atlas不是选项而您又需要在 Ubuntu 之外做探索,或许值得看看我的另一篇教程,演示如何使用 Docker 进行容器化部署。不过,如果您已准备好迈向下一步,不妨查看我之前关于在 MongoDB 中创建数据库的教程。
如果您正在使用 Python,并偏好结构化的学习方式,欢迎查看课程Introduction to MongoDB in Python。
准备在 Linux 上尝试 MongoDB,并选择了 Ubuntu 作为您的工作环境?非常明智的选择,因为整个过程相当简单,您很快就能让 MongoDB 运行起来!
在本教程中,我们将通过 Ubuntu 包管理器安装 MongoDB,并进行一些小的易用性改进,以更好地将您的安装与外部世界隔离和加固。您也可以查看视频指南。
虽然我们将演示原生安装体验,但如果您更愿意在 Ubuntu 上通过 Docker 使用 MongoDB,请查看我之前的教程:在 Docker 中运行 MongoDB。
先决条件
要顺利完成本教程,您需要使用较新的 Ubuntu 版本。我使用的是带有 ARM CPU 的 Ubuntu 25.04 桌面版,但其他 CPU 架构或 Ubuntu 服务器版一般也没有问题。
虽然用于操作 MongoDB 的工具相当灵活,但在本示例中,MongoDB Shell将是与 MongoDB 交互的主要工具。
使用包管理器在 Ubuntu 上安装 MongoDB 社区版
由于 Ubuntu 是极为流行的 Linux 发行版,安装 MongoDB 十分顺畅,就像安装其他软件包一样。流程包括将 MongoDB 添加为包管理器的软件源、安装软件包、然后运行已安装的软件包。
首先导入 MongoDB 的 GPG 密钥。在命令行中执行以下命令:
根据您希望使用的 MongoDB 主版本,以上命令和后续命令中的版本信息可能需要调整。本示例将使用 MongoDB 8.X。
导入 GPG 密钥后,我们可以继续创建软件包列表文件。执行以下命令:
需要说明的是:是的,我使用的是 Ubuntu 25.04(Plucky),而以上软件包列表引用的是 MongoDB 的 24.04(Noble)。这对我来说工作正常,但请在版本差异显著时保持关注,否则可能会产生意外结果。
此时,我们可以刷新计算机上的包管理器:
要安装 MongoDB,执行以下命令:
上述命令将安装 MongoDB 的最新版本,但如果您需要特定版本,可以在命令中包含版本信息,例如
mongodb-org=8.0.11。此时 MongoDB 应该已安装在计算机上。不过,在安装完成的当下它可能并未运行。要在 Ubuntu 上运行 MongoDB,执行以下命令:
您可以通过使用 MongoDB Shell、MongoDB Compass 或任意类似工具连接到实例来验证 MongoDB 是否正常工作。
以MongoDB Shell为例,您可以执行以下命令:
当然,上述命令假定您在同一台计算机上连接该 MongoDB 实例。
如果需要停止、重启 MongoDB 等,您可以使用 Ubuntu 上常见的各类
systemctl命令。为 Ubuntu 上的 MongoDB 实例添加基础安全性
默认情况下,新安装的 MongoDB 是禁用身份验证的。根据您的用例,这可能没问题,但通常建议至少启用身份验证与授权。
当然,您可能还希望探索其他加固最佳实践,例如防火墙规则等。但在本教程范围内,为 Ubuntu 上的 MongoDB 设置用户名和密码是一个良好的起点。
在 Ubuntu 上执行以下命令:
如果您更愿意使用
nano或其他工具编辑该文件,也完全可以。定位到
#security这一行,并将其修改为如下内容:保存文件后,执行以下命令重启 MongoDB 实例:
我们还没完成。目前只是启用了身份验证,还需要创建管理员用户。
如果您使用的是MongoDB Shell,执行以下命令:
您可能会希望将
user和pwd更改为更合理且更安全的内容,这里仅作示例。现在,当您想使用 MongoDB Shell 连接到 MongoDB 时,可以使用如下命令:
根据您所用工具的不同,体验会略有差异,但思路可参考以上信息。
总结
您刚刚了解了如何在 Linux 主机(尤其是 Ubuntu)上部署 MongoDB。MongoDB 的优点之一是它非常容易安装并在各类硬件与环境中运行。
如果MongoDB Atlas不是选项而您又需要在 Ubuntu 之外做探索,或许值得看看我的另一篇教程,演示如何使用 Docker 进行容器化部署。不过,如果您已准备好迈向下一步,不妨查看我之前关于在 MongoDB 中创建数据库的教程。
如果您正在使用 Python,并偏好结构化的学习方式,欢迎查看课程Introduction to MongoDB in Python。