在 Debian 上升级 MongoDB,推荐使用官方 MongoDB 仓库,而不是 Debian 自带仓库(版本通常很旧)。下面按通用、稳妥的流程说明,适用于 MongoDB 6.x / 7.x 及以后版本。
mongodump --out /backup/mongo-$(date +%F)
mongod --version
mongo --version # 旧版本
mongosh --version # 新版本
lsb_release -a
MongoDB 7.x 仅支持 Debian 11 / 12
| 升级方式 | 说明 |
|---|---|
| 小版本升级(如 6.0.5 → 6.0.12) | 直接升级,风险低 |
| 大版本升级(如 5.x → 6.x / 6.x → 7.x) | 必须逐步升级 |
⚠️ 禁止跨大版本直接升级
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
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
https://repo.mongodb.org/apt/debian bullseye/mongodb-org/7.0 main
sudo apt update
sudo systemctl stop mongod
sudo apt install mongodb-org
或指定版本:
sudo apt install mongodb-org=7.0.6 mongodb-org-server=7.0.6
sudo systemctl start mongod
sudo systemctl enable mongod
mongod --version
mongosh
✅ 必须分步升级
示例:
5.0 → 6.0 → 7.0
每一步:
mongosh --eval "db.adminCommand({ getParameter: 1, featureCompatibilityVersion: 1 })"
db.adminCommand({ setFeatureCompatibilityVersion: "6.0" })
sudo apt install mongodb-org-server
sudo journalctl -u mongod -xe
检查:
/etc/mongod.conf/var/lib/mongodbsudo 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
如果你愿意,可以告诉我:
我可以给你精确的升级命令。