温馨提示×

如何升级Debian的MongoDB

小樊
46
2026-08-17 10:00:14
栏目: 云计算

在 Debian 上升级 MongoDB,推荐使用官方 MongoDB 仓库,而不是 Debian 自带仓库(版本通常很旧)。下面按通用、稳妥的流程说明,适用于 MongoDB 6.x / 7.x 及以后版本。


一、升级前准备(非常重要)

1️⃣ 备份数据

mongodump --out /backup/mongo-$(date +%F)

2️⃣ 查看当前版本

mongod --version
mongo --version   # 旧版本
mongosh --version # 新版本

3️⃣ 确认系统版本

lsb_release -a

MongoDB 7.x 仅支持 Debian 11 / 12


二、升级方式选择

升级方式 说明
小版本升级(如 6.0.5 → 6.0.12) 直接升级,风险低
大版本升级(如 5.x → 6.x / 6.x → 7.x) 必须逐步升级

⚠️ 禁止跨大版本直接升级


三、使用官方仓库升级(推荐)

1️⃣ 导入 MongoDB GPG 密钥

curl -fsSL https://www.mongodb.org/static/pgp/server-7.0.asc | \
sudo gpg -o /usr/share/keyrings/mongodb-server-7.0.gpg --dearmor

如果是 6.x:

https://www.mongodb.org/static/pgp/server-6.0.asc

2️⃣ 添加 MongoDB 官方源

Debian 12(Bookworm)

echo "deb [ signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] \
https://repo.mongodb.org/apt/debian bookworm/mongodb-org/7.0 main" | \
sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list

Debian 11(Bullseye)

https://repo.mongodb.org/apt/debian bullseye/mongodb-org/7.0 main

3️⃣ 更新软件包

sudo apt update

四、升级 MongoDB

1️⃣ 停止 MongoDB

sudo systemctl stop mongod

2️⃣ 升级软件包

sudo apt install mongodb-org

或指定版本:

sudo apt install mongodb-org=7.0.6 mongodb-org-server=7.0.6

3️⃣ 启动 MongoDB

sudo systemctl start mongod
sudo systemctl enable mongod

4️⃣ 验证版本

mongod --version
mongosh

五、大版本升级(如 5.x → 6.x → 7.x)

必须分步升级

示例:

5.0 → 6.0 → 7.0

每一步:

  1. 升级并启动
  2. 确认日志无错误
  3. 运行:
mongosh --eval "db.adminCommand({ getParameter: 1, featureCompatibilityVersion: 1 })"
  1. 设置兼容性版本:
db.adminCommand({ setFeatureCompatibilityVersion: "6.0" })

六、常见问题

❌ 找不到 mongod

sudo apt install mongodb-org-server

❌ 端口冲突 / 启动失败

sudo journalctl -u mongod -xe

检查:

  • /etc/mongod.conf
  • /var/lib/mongodb
  • 权限问题

七、推荐配置

sudo nano /etc/mongod.conf

关键项:

storage:
  dbPath: /var/lib/mongodb
  journal:
    enabled: true

systemLog:
  destination: file
  path: /var/log/mongodb/mongod.log

八、总结(最快)

sudo systemctl stop mongod
sudo apt update
sudo apt install mongodb-org
sudo systemctl start mongod

如果你愿意,可以告诉我:

  • ✅ Debian 版本
  • ✅ 当前 MongoDB 版本
  • ✅ 是单机 / 副本集 / 分片集群

我可以给你精确的升级命令

0