Linux 平台安装 MongoDB(2025 年最新完整指南)
MongoDB 在 Linux 上支持 官方安装包(.tgz)、包管理器(yum/dnf、apt)和 Docker 三种方式。
推荐生产环境:使用 官方包管理器方式(自动管理依赖、升级、开机自启)。
当前最新稳定版:MongoDB 8.0(2025 年 11 月)。
适用系统:Ubuntu 20.04/22.04/24.04、Debian 11/12、RHEL/CentOS 8/9、Rocky Linux、AlmaLinux、Amazon Linux 2023
一、系统准备(所有发行版通用)
# 1. 更新系统
sudo apt update && sudo apt upgrade -y # Ubuntu/Debian
# 或
sudo dnf update -y # RHEL/CentOS/Rocky
# 2. 安装基本工具
sudo apt install gnupg curl wget -y # Ubuntu/Debian
sudo dnf install gnupg2 curl wget -y # RHEL 系列
# 3. 创建数据和日志目录(推荐)
sudo mkdir -p /data/db /data/log
sudo chown -R $USER:$USER /data/db /data/log # 开发用
# 生产建议:chown mongodb:mongodb
二、安装方式 1:包管理器方式(推荐)
1. Ubuntu / Debian(使用 apt)
# 步骤 1:导入 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
# 步骤 2:添加 MongoDB 官方源(根据系统版本选择)
# 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
# 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 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
# Debian 11 (bullseye) / Debian 12 (bookworm)
echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] \
https://repo.mongodb.org/apt/debian bookworm/mongodb-org/8.0 main" | \
sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list
# 步骤 3:更新源并安装
sudo apt update
sudo apt install -y mongodb-org
2. RHEL / CentOS / Rocky / AlmaLinux(使用 dnf/yum)
# 步骤 1:创建 repo 文件
sudo tee /etc/yum.repos.d/mongodb-org-8.0.repo << EOF
[mongodb-org-8.0]
name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/9/mongodb-org/8.0/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-8.0.asc EOF # 步骤 2:安装 sudo dnf install -y mongodb-org # CentOS 7 使用 yum: # sudo yum install -y mongodb-org
三、启动与验证
# 启动 MongoDB 服务
sudo systemctl start mongod
# 设置开机自启
sudo systemctl enable mongod
# 查看状态
sudo systemctl status mongod
验证连接:
# 进入 MongoDB Shell
mongosh
# 测试命令
> show dbs
> use testdb
> db.users.insertOne({name: "Linux用户", os: "Ubuntu"})
> db.users.find().pretty()
四、安装方式 2:TGZ 手动安装(适合自定义路径)
# 1. 下载最新 TGZ 包(x86_64)
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu2204-8.0.3.tgz
# 2. 解压
tar -zxvf mongodb-linux-x86_64-ubuntu2204-8.0.3.tgz
sudo mv mongodb-linux-x86_64-ubuntu2204-8.0.3 /usr/local/mongodb
# 3. 添加环境变量
echo 'export PATH=/usr/local/mongodb/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
# 4. 创建数据目录
sudo mkdir -p /data/db
sudo chown $USER /data/db
# 5. 启动(前台)
mongod --dbpath /data/db --logpath /data/log/mongod.log --fork
五、安装方式 3:Docker 安装(推荐开发/测试)
# 拉取官方镜像
docker pull mongodb/mongodb-community-server:8.0
# 运行容器(映射端口 + 数据持久化)
docker run -d --name mongo \
-p 27017:27017 \
-v mongo-data:/data/db \
-e MONGO_INITDB_ROOT_USERNAME=admin \
-e MONGO_INITDB_ROOT_PASSWORD=yourpassword \
mongodb/mongodb-community-server:8.0
连接方式:
mongosh "mongodb://admin:yourpassword@localhost:27017"
六、生产环境安全配置(必须)
1. 启用身份认证
# 连接本地 mongosh
mongosh
# 创建管理员用户
use admin
db.createUser({
user: "admin",
pwd: "StrongP@ssw0rd!",
roles: [ "root" ]
])
2. 修改配置文件启用认证
sudo nano /etc/mongod.conf
security:
authorization: enabled
net:
port: 27017
bindIp: 0.0.0.0 # 允许远程,或改为 127.0.0.1 本地
storage:
dbPath: /data/db
systemLog:
destination: file
path: /data/log/mongod.log
sudo systemctl restart mongod
3. 防火墙配置(ufw 示例)
sudo ufw allow from 192.168.1.0/24 to any port 27017 # 内网
sudo ufw allow 27017 # 公网(谨慎)
七、常用管理命令
| 命令 | 功能 |
|---|---|
sudo systemctl start mongod | 启动 |
sudo systemctl stop mongod | 停止 |
sudo systemctl restart mongod | 重启 |
sudo systemctl status mongod | 查看状态 |
journalctl -u mongod -f | 查看实时日志 |
mongosh --host 127.0.0.1 --port 27017 -u admin -p | 认证登录 |
八、卸载 MongoDB
# 停止服务
sudo systemctl stop mongod
# 卸载软件包
sudo apt purge mongodb-org* # Ubuntu/Debian
sudo dnf remove mongodb-org* # RHEL
# 删除数据(谨慎!)
sudo rm -r /data/db /data/log /var/lib/mongodb /var/log/mongodb
# 删除配置文件
sudo rm /etc/mongod.conf /etc/yum.repos.d/mongodb-org-8.0.repo
九、推荐工具
| 工具 | 说明 |
|---|---|
| MongoDB Compass | 图形化客户端(Windows/macOS/Linux) |
| mongosh | 官方现代 Shell(替代 mongo) |
| MongoDB Atlas | 云数据库(免运维)https://cloud.mongodb.com |
十、总结:三步快速安装(Ubuntu 示例)
curl -fsSL https://www.mongodb.org/static/pgp/server-8.0.asc | sudo gpg --dearmor -o /usr/share/keyrings/mongodb-server-8.0.gpg
echo "deb [ 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
sudo apt update && sudo apt install -y mongodb-org
sudo systemctl start mongod && sudo systemctl enable mongod
mongosh
官方文档:https://www.mongodb.com/docs/manual/tutorial/install-mongodb-on-linux/
如需 高可用副本集配置、分片集群搭建、备份恢复 或 Kubernetes 部署,欢迎继续提问!