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

本文详细描述了如何将MongoDB4.2数据库逐步升级到7.0版本,包括设置featureCompatibilityVersion、备份数据、分阶段升级(4.2->5.0->6.0->7.0)以及确认每个阶段的升级过程和注意事项。
摘要由CSDN通过智能技术生成

今天一客户想把自己当前使用的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版本特此记录一下。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值