Mongodb3.4升张到4.0过程

根据资料,说MongoDB不能跨版本升级

需要循序渐进的方式,按查到的资料讲的都很详细

个人理解主要是2点:

 - 用新版本启动上个版本的数据库

 - 查询确认并更新数据库中的版本号

要达成以上2点要求,最方便的就是直接下载可运行的MongoDB版本(本例中下载对应版本的tgz文件,解压后用命令行运行即可),直接运行

详细过程记录如下:

升级环境:

 - MongoDB 3.4 (目标是4.4,中间须经过3.6,4.0,4.2,4.4)

 - 操作系统 Centos7

注:

 1.每次用新版本启动数据库时,等数据库处理完数据后再进入下个版本升级

 2.把原数据备份一下再进行,以防万一

升级过程:

3.4 -> 3.6

下载3.6安装包

wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-3.6.22.tgz
tar zxvf mongodb-linux-x86_64-rhel70-3.6.22.tgz
/root/download/mongodb-linux-x86_64-rhel70-3.6.22/bin/mongod --port 27017 --bind_ip 127.0.0.1 --dbpath /home/db4.0

打开Mongo客户端运行如下指令:

db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )    检查当前版本号
db.adminCommand( { setFeatureCompatibilityVersion: "3.6" } )              更新版本号

3.6 -> 4.0

wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.0.22.tgz
tar zxvf mongodb-linux-x86_64-rhel70-4.0.22.tgz
/root/download/mongodb-linux-x86_64-rhel70-4.0.22/bin/mongod --port 27017 --bind_ip 127.0.0.1 --dbpath /home/db4.0

Mongo客户端运行如下指令:  

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

完成



原文地址:https://www.cnblogs.com/visionsl/p/14426517.html