当前位置: 首页 > news >正文

mongodb4.2升级到5.0版本,升级到6.0版本, 升级到7.0版本案例

今天一客户想把自己当前使用的mongodb数据库4.2版本升级到7.0版本。难道mongodb能直接跳跃升级吗? 经过几经查找资料,貌似真不行呀。确定升级流程如下:

  1. 还得从mongo4.2升级到5.0。
  2. 其次再从5.0升级到6.0。
  3. 最后再从6.0升级到7.0。
    开始升级之前将数据进行备份 这一步很重要,数据无价。
    在正式开始升级前需要了解一下在 MongoDB 中,featureCompatibilityVersion 用于指示数据库的功能兼容性版本。在进行升级时,需要确保 featureCompatibilityVersion 版本是升级目标版本的兼容值。

查看当前数据库的featureCompatibilityVersion版本

db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )

设置数据库的featureCompatibilityVersion版本

db.adminCommand( { setFeatureCompatibilityVersion: "5.0" } )

上面表示设置数据库featureCompatibilityVersion版本为5.0

MongoDB 4.2升级到5.0版本

首先停止数据库,使用5.0版本的mongod命令执行如下升级操作 需要加参数 --upgrade

mongod.exe --dbpath=D:\mongodb_data\mongodb\4.2\data   --upgrade

执行完成后,从日志中看到exitCode编码是0表示升级成功,此时可以用5.0版本的Mongodb数据指向4.2的数据目录。
升级到5.0后 启动数据库,使用mongo命令连上数据库设置featureCompatibilityVersion版本号为5.0,即完成了4.2升级到5.0的工作。操作命令如下:

db.adminCommand( { setFeatureCompatibilityVersion: "5.0" } )

这里感觉挺鸡肋的,为啥都执行了–upgrade操作了 不能自动改为setFeatureCompatibilityVersion为升级的目标版本吗? 需要手动操作一遍。如果不手动操作这一步,升级到6.0将会报错:

UPGRADE PROBLEM: Found an invalid featureCompatibilityVersion document (ERROR: Location4926900: Invalid featureCompatibilityVersion document in admin.system.version: { _id: \"featureCompatibilityVersion\", version: \"4.2\" }. See https://docs.mongodb.com/master/release-notes/4.4-compatibility/#feature-compatibility. 
:: caused by :: Invalid value for featureCompatibilityVersiondocument in admin.system.version, found 4.2, expected '4.4' or '4.9' or '5.0.See https://docs.mongodb.com/master/release-notes/4.4-compatibility/#feature-compatibility.). If the current featureCompatibilityVersion is below 4.4, see the documentation on upgrading at https://docs.mongodb.com/master/release-notes/4.4/#upgrade-procedures."}}
MongoDB 5.0升级到6.0版本

首先停止数据库,使用6.0版本的mongod命令执行如下升级操作 需要加参数 --upgrade

mongod.exe --dbpath=D:\mongodb_data\mongodb\4.2\data   --upgrade

执行完成后,从日志没有出现异常错误表示升级成功,此时可以用6.0版本的Mongodb数据指向4.2的数据目录.最后用命令行工具mongo或者mongosh验证一下6.0版本是否升级成功,不要忘记需要手工更改setFeatureCompatibilityVersion版本号为6.0

db.adminCommand( { setFeatureCompatibilityVersion: "6.0" } )
MongoDB 6.0升级到7.0版本

首先停止数据库,使用同样逻辑的方法把7.0版本的mongod命令执行如下升级操作 需要加参数 --upgrade

mongod.exe --dbpath=D:\mongodb_data\mongodb\4.2\data   --upgrade

执行完成后,从日志中没出现异常错误表示升级成功,此时可以用7.0版本的Mongodb数据指向4.2的数据目录.最后用命令行工具mongo或者mongosh验证一下7.0版本是否升级成功,同样的不要忘记需要手工更改setFeatureCompatibilityVersion版本号为7.0

db.adminCommand( { setFeatureCompatibilityVersion: "7.0", confirm: true } )

7.0更改版本号需要价confirm:true参数 不然会产生报错:

errmsg" : "Once you have upgraded to 7.0, you will not be able to downgrade FCV and binary version without support assistance. 
Please re-run this command with 'confirm: true' to acknowledge this and continue with the FCV upgrade.

以上一系列的操作将数据库从4.2版本成功升级到7.0版本特此记录一下。

http://www.lryc.cn/news/313163.html

相关文章:

  • CPU处理器模式与异常
  • Day 53 |● 1143.最长公共子序列 ● 1035.不相交的线 ● 53. 最大子序和
  • ant-desgin charts双轴图DualAxes,柱状图无法立即显示,并且只有在调整页面大小(放大或缩小)后才开始显示
  • 获取别人店铺的所有商品API接口
  • 成都正信:亲戚借了钱一直不还怎么委婉的说
  • Truenas入门级教程
  • 窗口函数dense() over(条件)
  • 蓝牙APP开发实现汽车遥控钥匙解锁汽车智能时代
  • 第三天 Kubernetes进阶实践
  • redis小结
  • PHP伪协议详解
  • 进程:守护进程
  • 千里马平台项目管理理念
  • GB 2312字符集:中文编码的基石
  • 我的创作周年纪念日
  • MySQL为什么要用B+树?
  • 今天分享一个好看的输入法皮肤相信每个人心里住着一个少女心我们美化一下她吧
  • 力扣刷题Days11第二题--141. 环形链表(js)
  • 微信自动回复的设置
  • SpringBoot源码解读与原理分析(一)SpringBoot整体概述
  • 如何选择VR全景设备,才能拍摄高质量的VR全景?
  • Vue 3 中的 ref 和 reactive 有什么区别?
  • 【SpringBoot】mybaitsPlus的多数据源配置
  • 安卓Java面试题 1-10
  • 强化学习中动作价值函数和状态价值函数的联系区别?
  • Vue-Router路由介绍和使用
  • Waves 14 Complete:后期混音效果全套插件,打造专业级音质体验
  • DC-2靶机详解
  • 个人项目介绍4:三维园区篇
  • 哪些公司在招聘GIS开发?为什么?