如何升级MongoDB服务器版本?升级后Shell与服务器版本不匹配求解
从MongoDB 2.6升级到3.6.4的完整解决方案
别急,我帮你理清楚正确的升级路径——MongoDB不支持跨大版本直接升级,必须按2.6 → 3.0 → 3.2 → 3.4 → 3.6的顺序逐步升级,每一步都要完成兼容性配置,下面是具体操作(以Ubuntu/Debian系统为例,CentOS/RHEL操作逻辑一致,仅包管理命令和源文件路径有区别):
第一步:升级到MongoDB 3.0
- 先备份数据:这是升级前的必备操作,避免意外丢数据
mongodump --out /path/to/your/backup/directory - 停止当前MongoDB服务:
sudo service mongod stop - 替换软件源:编辑
/etc/apt/sources.list.d/mongodb.list,把旧的2.6源替换为3.0版本的源:deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse - 更新缓存并安装指定版本:
sudo apt-get updatesudo apt-get install -y mongodb-org=3.0.15 mongodb-org-server=3.0.15 mongodb-org-shell=3.0.15 mongodb-org-mongos=3.0.15 mongodb-org-tools=3.0.15 - 启动服务并验证版本:
sudo service mongod start
进入mongo shell后执行db.version(),确认显示为3.0.15 - 升级兼容性配置:在mongo shell中运行:
db.adminCommand({ setFeatureCompatibilityVersion: "3.0" })
验证配置:db.adminCommand({ getParameter: 1, featureCompatibilityVersion: 1 })
第二步:升级到MongoDB 3.2
重复类似流程,重点替换源和版本号:
- 停止服务:
sudo service mongod stop - 更新源:修改
/etc/apt/sources.list.d/mongodb.list为:deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.2 multiverse - 安装3.2版本:
sudo apt-get updatesudo apt-get install -y mongodb-org=3.2.22 mongodb-org-server=3.2.22 mongodb-org-shell=3.2.22 mongodb-org-mongos=3.2.22 mongodb-org-tools=3.2.22 - 启动服务,验证版本后,设置兼容性:
db.adminCommand({ setFeatureCompatibilityVersion: "3.2" })
第三步:升级到MongoDB 3.4
- 停止服务,更新源为3.4版本:
deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.4 multiverse - 安装3.4版本:
sudo apt-get updatesudo apt-get install -y mongodb-org=3.4.24 mongodb-org-server=3.4.24 mongodb-org-shell=3.4.24 mongodb-org-mongos=3.4.24 mongodb-org-tools=3.4.24 - 启动服务,验证版本后,设置兼容性:
db.adminCommand({ setFeatureCompatibilityVersion: "3.4" })
第四步:升级到MongoDB 3.6.4
- 停止服务,更新源为3.6版本:
deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.6 multiverse - 安装指定的3.6.4版本:
sudo apt-get updatesudo apt-get install -y mongodb-org=3.6.4 mongodb-org-server=3.6.4 mongodb-org-shell=3.6.4 mongodb-org-mongos=3.6.4 mongodb-org-tools=3.6.4 - 启动服务,执行
db.version()确认显示3.6.4 - 最后设置兼容性配置:
db.adminCommand({ setFeatureCompatibilityVersion: "3.6" })
解决“搜索跳转到已执行过的安装页面”问题
你遇到的重复跳转旧页面,大概率是本地软件源缓存未更新,或者源配置仍指向旧版本。可以这样处理:
- 先清理本地缓存:
sudo apt-get clean && sudo apt-get autoclean - 每次升级前务必替换为对应大版本的源,不要使用“latest”通用源
- 安装时明确指定完整版本号,避免系统自动安装旧版或非目标版本
内容的提问来源于stack exchange,提问作者user2285831
相关产品推荐
相关产品推荐

