在 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配置文件。数据目录、日志目录等设置在启动时生效;运行期间修改配置后,需要重启实例才能应用。
操作步骤
以下运行步骤假定使用官方包及默认设置,而不是Ubuntu提供的非官方mongodb包。mongodb-org
初始化系统
使用操作系统内置的初始化系统管理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)
启动 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。
启动 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只接受同机客户端连接,远程客户端无法连接。若不把该值设为有效网络接口,也无法初始化副本集。
可通过以下任一方式配置:
警告
绑定到公众可访问的IP之前,必须保护集群,防止未经授权的访问。完整建议参见自主管理部署的安全检查清单;至少应考虑启用身份验证并加固网络基础设施。
关于bindIp的更多配置,参见IP Binding in Self-Managed Deployments。
MongoDB 社区版软件包
MongoDB社区版从独立仓库提供,包含以下官方支持的软件包:
| 软件包名称 | 说明 | ||||||
|---|---|---|---|---|---|---|---|
|
|
元包,会自动安装下面列出的组件包。 |
||||||
|
|
元包,会自动安装下面列出的组件包。
|
||||||
|
|
包含MongoDB Shell,即mongosh。 |
||||||
|
|
元包,会自动安装以下组件包:
|
BackInstall on Red Hat下一篇:排查 Ubuntu 安装问题











暂无评论内容