MongoDB 的升级方式取决于你当前的部署形态(单机 / 副本集 / 分片集群)以及安装方式(包管理 / 二进制 / Docker / 云托管)。下面我按常见场景给你一个清晰、安全的升级指南。
mongod --version
# 或
mongo --version
重点看 Breaking Changes(破坏性变更): https://www.mongodb.com/docs/manual/release-notes/
⚠️ 不能跨大版本跳跃太多
例如:4.0 → 4.2 → 4.4 → 5.0 → 6.0 → 7.0
一般建议一次只升一个小版本
mongodump --out=/backup/mongo-$(date +%F)
升级副本集/分片前非常重要:
db.adminCommand({ getParameter: 1, featureCompatibilityVersion: 1 })
升级完成后才设置新版本 FCV。
sudo apt-get update
sudo apt-get install -y mongodb-org
sudo yum install -y mongodb-org
重启服务:
sudo systemctl restart mongod
# 停止服务
systemctl stop mongod
# 下载新版本
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu2204-7.0.0.tgz
tar -xzf mongodb-linux-x86_64-*.tgz
# 替换 bin 目录
cp mongodb-linux-x86_64-*/bin/* /usr/local/mongodb/bin/
# 启动
systemctl start mongod
✅ 不中断业务
// 在 Primary 上执行
rs.stepDown()
每个节点升级后确认状态:
rs.status()
顺序非常关键:
每一步都使用滚动升级方式。
db.adminCommand({ setFeatureCompatibilityVersion: "7.0" })
db.adminCommand({ getParameter: 1, featureCompatibilityVersion: 1 })
docker pull mongo:7.0
docker stop mongo
docker rm mongo
docker run -d \
--name mongo \
-v /data/mongo:/data/db \
mongo:7.0
⚠️ 数据卷必须保留
如果你愿意,可以告诉我:
我可以给你精确到命令的升级方案。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。