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" } )
完成