在 Debian 系统中升级 MongoDB,通常有两种常见场景:同一大版本内的小版本升级(如 6.0.3 → 6.0.14) 和 跨大版本升级(如 5.0 → 6.0 / 6.0 → 7.0)。下面按官方推荐方式说明。
mongodump --out /backup/mongodb-$(date +%F)
mongod --version
# 或
mongo --version
lsb_release -a
查看 MongoDB 源文件:
cat /etc/apt/sources.list.d/mongodb-org-*.list
示例(Debian 11 + MongoDB 6.0):
deb [ signed-by=/usr/share/keyrings/mongodb-server-6.0.gpg ] https://repo.mongodb.org/apt/debian bullseye/mongodb-org/6.0 main
sudo apt update
sudo apt install --only-upgrade mongodb-org
重启服务:
sudo systemctl restart mongod
⚠️ 必须逐大版本升级,不能跳版本
(1) 修改 apt 源
sudo sed -i 's/6.0/7.0/' /etc/apt/sources.list.d/mongodb-org-6.0.list
或重新添加源:
echo "deb [ signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] https://repo.mongodb.org/apt/debian $(lsb_release -cs)/mongodb-org/7.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list
(2) 更新并升级
sudo apt update
sudo apt install mongodb-org
(3) 重启
sudo systemctl restart mongod
(4) 检查兼容性
mongosh
db.adminCommand({ getParameter: 1, featureCompatibilityVersion: 1 })
如需升级兼容版本:
db.adminCommand({ setFeatureCompatibilityVersion: "7.0" })
适合离线环境:
sudo systemctl stop mongod
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-debian11-7.0.0.tgz
systemctl status mongod
mongosh
db.runCommand({ ping: 1 })
/var/log/mongodb/mongod.logsudo chown -R mongodb:mongodb /var/lib/mongodb
如果你能告诉我:
我可以给你精确命令。