升级前必须通过mongodump命令备份所有重要数据库(如mongodump --out /path/to/backup),确保数据可恢复。升级过程中若出现中断电、进程异常终止等问题,备份是恢复数据的关键保障。
MongoDB不支持跨大版本直接升级(如2.6→3.4、3.0→3.6),必须逐步升级:
升级前查阅MongoDB官方发布的升级指南,确认新版本与当前系统环境(如Linux发行版、内核版本)、应用程序驱动(如PyMongo、Mongoose)、依赖库(如OpenSSL)的兼容性。避免因兼容性问题导致升级后服务异常。
featureCompatibilityVersionfeatureCompatibilityVersion(FCV)决定了数据库是否启用新版本的功能。升级时需按以下步骤设置:
db.adminCommand({getParameter: 1, featureCompatibilityVersion: 1}));db.adminCommand({getParameter: 1, featureCompatibilityVersion: 1})确认FCV已更新。sudo systemctl stop mongod(Systemd)或sudo service mongod stop(SysVinit);mongod、mongo)复制到系统目录(如/usr/local/mongodb/bin),并更新配置文件(如/etc/mongod.conf)中的路径;rs.stepDown()降级Primary,再升级Primary;docker stop mongodb && docker start mongodb),若遇.sock文件问题,可删除该文件恢复。mongo命令进入Shell,执行db.version()确认版本已升级;/var/log/mongod.log),确认无错误或警告信息。MONGODB-CR认证(MongoDB 2.6及之前版本),升级到3.0及以上版本时,需通过authSchemaUpgrade命令升级认证模式(如db.getSiblingDB("admin").runCommand({authSchemaUpgrade: 1}));