在 Ubuntu 上安装 MongoDB 社区版

Docs Home / / Install on LinuxDocs Home / / Community Edition / Install on LinuxDocs Home / Management / Installation / Community Edition / Install on Linux

在 Ubuntu 上安装 MongoDB 社区版

概览

本教程使用apt包管理器,在Ubuntu Linux的LTS长期支持版本上安装MongoDB 8.0社区版。

MongoDB 版本

本教程安装MongoDB 8.0社区版。如需其他版本,应在原文左上角的版本下拉菜单中选择相应文档。

注意事项

平台支持

MongoDB 8.0社区版支持x86_64架构下以下64位Ubuntu LTS版本:

  • 24.04 LTS ("Noble")

  • 22.04 LTS ("Jammy")

  • 20.04 LTS ("Focal")

MongoDB只支持这些平台的64位版本。在主机终端运行以下命令,确认Ubuntu版本:

cat /etc/lsb-release

在部分平台上,Ubuntu上的MongoDB 8.0社区版也支持ARM64架构。

详情参见Platform Support。

生产环境说明

在生产环境部署MongoDB之前,应阅读自主管理部署的生产环境注意事项,了解性能因素与配置建议。

MongoDB 官方软件包

本教程使用MongoDB Inc.维护和支持的官方mongodb-org软件包。官方包从独立仓库提供,并包含MongoDB的最新版本。

重要

Ubuntu提供的mongodb软件包并非由MongoDB Inc.维护,而且与官方mongodb-org冲突。如果已安装mongodb,必须先卸载,再按本教程操作。

完整官方软件包列表参见MongoDB 社区版软件包。

安装 MongoDB 社区版

按以下步骤通过apt安装MongoDB社区版。

1

导入公钥

如果尚未安装gnupg和curl,先在终端安装:

sudo apt-get install gnupg curl

运行以下命令导入MongoDB的GPG公钥:

curl -fsSL https://pgp.mongodb.com/server-8.0.asc | \
   sudo gpg -o /usr/share/keyrings/mongodb-server-8.0.gpg \
   --dearmor

2

创建仓库列表文件

根据Ubuntu版本,创建/etc/apt/sources.list.d/mongodb-org-8.0.list文件。

Ubuntu 24.04 (Noble)

Ubuntu 22.04 (Jammy)

Ubuntu 20.04 (Focal)

Ubuntu 24.04(Noble)的列表文件:

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 22.04(Jammy)的列表文件:

echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/8.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list

Ubuntu 20.04(Focal)的列表文件:

echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/8.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list

3

重新加载软件包数据库

运行以下命令重新加载本地软件包数据库:

sudo apt-get update

4

安装 MongoDB 社区服务器

可以安装最新稳定版,也可以指定具体版本。

最新版本

指定版本

安装最新稳定版:

sudo apt-get install -y mongodb-org

安装指定版本时,必须逐一指定每个组件包及其版本号。

sudo apt-get install -y \
   mongodb-org=8.0.12 \
   mongodb-org-database=8.0.12 \
   mongodb-org-server=8.0.12 \
   mongodb-mongosh \
   mongodb-org-shell=8.0.12 \
   mongodb-org-mongos=8.0.12 \
   mongodb-org-tools=8.0.12 \
   mongodb-org-database-tools-extra=8.0.12

如果只指定mongodb-org=8.0.12而没有同时指定组件包,那么各组件仍会安装最新版本,不受该版本号约束。

可选:即使安装时指定了版本,出现新版本后apt-get仍会升级。为避免意外升级,可以把各包固定在当前安装版本:

echo "mongodb-org hold" | sudo dpkg --set-selections
echo "mongodb-org-database hold" | sudo dpkg --set-selections
echo "mongodb-org-server hold" | sudo dpkg --set-selections
echo "mongodb-mongosh hold" | sudo dpkg --set-selections
echo "mongodb-org-mongos hold" | sudo dpkg --set-selections
echo "mongodb-org-cryptd hold" | sudo dpkg --set-selections
echo "mongodb-org-tools hold" | sudo dpkg --set-selections
echo "mongodb-org-database-tools-extra hold" | sudo dpkg --set-selections

Ubuntu安装过程中遇到错误时,参见故障排查指南。

运行 MongoDB 社区版

ulimit 限制

大多数类Unix系统会限制单个进程可使用的系统资源。这可能影响MongoDB运行,应按需调整。各平台推荐值参见自主管理部署的 UNIX ulimit 设置。

注意

如果可打开文件数的ulimit低于64000,MongoDB启动时会发出警告。

目录

通过包管理器安装时,会创建数据目录/var/lib/mongodb和日志目录/var/log/mongodb。

默认以mongodb账户运行。如果改用其他用户运行MongoDB进程,也必须调整数据和日志目录的权限,确保该用户可访问。

配置文件

官方软件包包含/etc/mongod.conf配置文件。数据目录、日志目录等设置在启动时生效;运行期间修改配置后,需要重启实例才能应用。

操作步骤

以下运行步骤假定使用官方mongodb-org包及默认设置,而不是Ubuntu提供的非官方mongodb包。

初始化系统

使用操作系统内置的初始化系统管理mongod。较新的Linux使用systemd及systemctl命令;较早版本使用System V init及service命令。

如果不确定系统使用哪一种,运行:

ps --no-headers -o comm 1

然后根据结果选择相应方法:

  • 结果为systemd:使用systemd(systemctl)方法。

  • 结果为init:使用System V Init(service)方法。

systemd (systemctl)

System V Init (service)

1

启动 MongoDB

运行以下命令启动mongod:

sudo systemctl start mongod

如果启动时出现类似错误:

Failed to start mongod.service: Unit mongod.service not found.

先运行以下命令:

sudo systemctl daemon-reload

再重新执行上面的启动命令。

2

验证 MongoDB 已成功启动
sudo systemctl status mongod

可选:使用以下命令,确保系统重启后自动启动MongoDB:

sudo systemctl enable mongod

3

停止 MongoDB

需要时,使用以下命令停止mongod:

sudo systemctl stop mongod

4

重启 MongoDB

使用以下命令重启mongod:

sudo systemctl restart mongod

观察/var/log/mongodb/mongod.log,可以了解进程状态、错误和重要消息。

5

开始使用 MongoDB

在mongod所在主机启动mongosh会话。不加命令行选项时,mongosh连接localhost默认27017端口上运行的mongod。

mongosh

如需连接其他主机或端口等更多信息,参见mongosh文档。

MongoDB为不同驱动提供了入门指南。驱动文档参见Start Developing with MongoDB。

1

启动 MongoDB

运行以下命令启动mongod:

sudo service mongod start

2

验证 MongoDB 已成功启动

确认mongod进程已成功启动:

sudo service mongod status

还可以检查日志文件,默认路径为/var/log/mongodb/mongod.log。运行中的实例会通过以下日志行表示已准备好接收连接:

[initandlisten] waiting for connections on port 27017

3

停止 MongoDB

需要时,使用以下命令停止mongod:

sudo service mongod stop

4

重启 MongoDB

运行以下命令重启mongod:

sudo service mongod restart

5

开始使用 MongoDB

在mongod所在主机启动mongosh会话。不加命令行选项时,mongosh连接localhost默认27017端口上运行的mongod。

mongosh

如需连接其他主机或端口等更多信息,参见mongosh文档。

MongoDB为不同驱动提供了入门指南。驱动文档参见Start Developing with MongoDB。

卸载 MongoDB 社区版

彻底卸载MongoDB,需要移除应用本身、配置文件,以及包含数据和日志的目录。以下是必要步骤。

警告

此过程会彻底删除MongoDB、配置及全部数据库,并且不可逆。执行前,务必备份全部配置与数据。

1

停止 MongoDB

使用以下命令停止mongod:

sudo service mongod stop

2

移除软件包

移除此前安装的MongoDB软件包。

sudo apt-get purge mongodb-org*

3

移除数据目录

移除MongoDB数据库和日志文件。

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

补充信息

默认绑定 localhost

默认启动时,bindIp为127.0.0.1,即绑定localhost接口。因此mongod只接受同机客户端连接,远程客户端无法连接。若不把该值设为有效网络接口,也无法初始化副本集。

可通过以下任一方式配置:

  • 在MongoDB配置文件中设置bindIp;或

  • 使用命令行参数–bind_ip。

警告

绑定到公众可访问的IP之前,必须保护集群,防止未经授权的访问。完整建议参见自主管理部署的安全检查清单;至少应考虑启用身份验证并加固网络基础设施。

关于bindIp的更多配置,参见IP Binding in Self-Managed Deployments。

MongoDB 社区版软件包

MongoDB社区版从独立仓库提供,包含以下官方支持的软件包:

软件包名称 说明

mongodb-org

元包,会自动安装下面列出的组件包。

mongodb-org-database

元包,会自动安装下面列出的组件包。

软件包名称 说明

mongodb-org-server

包含mongod守护进程、相关初始化脚本及/etc/mongod.conf配置文件。可通过初始化脚本按配置启动mongod,详情见前文“运行MongoDB社区版”。

mongodb-org-mongos

包含mongos守护进程。

mongodb-mongosh

包含MongoDB Shell,即mongosh。

mongodb-org-tools

元包,会自动安装以下组件包:

软件包名称 说明

mongodb-database-tools

包含以下MongoDB数据库工具:

mongodb-org-database-tools-extra

包含install_compass脚本。

BackInstall on Red Hat下一篇:排查 Ubuntu 安装问题

正文相关链接

来源与许可

原文:Install MongoDB Community Edition on Ubuntu。本页为中文翻译与排版整理,示例源码保留原样,权利归原作者及维护者所有。

MongoDB 官方 8.0 文档;著作权归 MongoDB 及相应权利人所有。法律信息见 MongoDB Legal。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容