Linux平台安装MongoDB

Linux 平台安装 MongoDB(2025 年最新完整指南)
MongoDB 在 Linux 上支持 官方安装包(.tgz)、包管理器(yum/dnf、apt)和 Docker 三种方式。
推荐生产环境:使用 官方包管理器方式(自动管理依赖、升级、开机自启)。
当前最新稳定版:MongoDB 8.0(2025 年 11 月)。

一、系统准备(所有发行版通用)

# 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 认证登录

上一篇 乌班图Ubuntu配置网络
下一篇 华为S系列交换机Eth-Trunk接口与友商设备对接失败