如何将MongoDB 3.6.3的/data/db/数据库文件升级至MongoDB 4.4
升级MongoDB 3.6.3数据文件至4.4版本的实操步骤
MongoDB跨大版本升级必须遵循相邻版本递进升级原则,即需按 3.6 → 4.0 → 4.2 → 4.4 的顺序完成升级,不能直接跳级。以下是具体操作流程:
前置准备
- 全量备份数据:停止所有MongoDB进程,复制整个数据目录到安全路径,命令示例:
cp -r /data/db/ /data/db_backup_$(date +%Y%m%d)/ - 确认目标版本(4.0/4.2/4.4)与你的操作系统兼容,比如内核版本、依赖库等要求。
第一步:升级至MongoDB 4.0
- 安装MongoDB 4.0的二进制包(根据系统选择apt/yum安装或直接下载压缩包解压)
- 启动4.0版本的mongod实例,指定原数据目录:
mongod --dbpath /data/db/ --port 27017 --bind_ip 127.0.0.1 - 连接至实例:
mongo --port 27017 - 检查当前兼容性版本:
此时应返回db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )"featureCompatibilityVersion" : "3.6" - 升级兼容性版本至4.0:
db.adminCommand( { setFeatureCompatibilityVersion: "4.0" } ) - 验证升级成功后,正常停止mongod进程:
db.shutdownServer()
第二步:升级至MongoDB 4.2
- 安装MongoDB 4.2的二进制包
- 启动4.2版本的mongod实例:
mongod --dbpath /data/db/ --port 27017 --bind_ip 127.0.0.1 - 连接至实例并检查兼容性版本(需为
"4.0") - 升级兼容性版本至4.2:
db.adminCommand( { setFeatureCompatibilityVersion: "4.2" } ) - 验证成功后,正常停止mongod进程
第三步:升级至MongoDB 4.4
- 安装MongoDB 4.4的二进制包(注意:4.4开始
mongoshell已被弃用,推荐使用mongosh,若未安装可临时继续用mongo) - 启动4.4版本的mongod实例:
mongod --dbpath /data/db/ --port 27017 --bind_ip 127.0.0.1 - 连接至实例并检查兼容性版本(需为
"4.2") - 升级兼容性版本至4.4:
db.adminCommand( { setFeatureCompatibilityVersion: "4.4" } ) - 确认返回
"featureCompatibilityVersion" : "4.4",即完成数据文件适配
关键注意事项
- 每一步启动实例后,务必检查日志,确保无报错、实例运行正常
- 若为分片集群或副本集,需先升级所有节点的二进制文件,再按从次要节点到主节点的顺序升级兼容性版本
- 升级完成后,建议重新备份适配4.4版本的数据文件
内容的提问来源于stack exchange,提问作者CodingLion
相关产品推荐
相关产品推荐

