mongodb 版本升级后数据兼容

mongodb 升级需要在两个相近版本之间进行。如 3.2 无法直接升级到 4.0,需要从 3.2 到 3.4,从 3.4 到 3.6,从 3.6 到 4.0 之间逐个升级。

相邻版本逐个升级,需要多次安装、卸载 mongodb 版本,安装卸载可能需要比较繁琐的操作。所以我推荐使用 docker 挂载数据目录进行升级。

mongodb 典型的数据被配置在 /var/lib/mongodb 目录下。在数据升级前,记得首先备份数据:

cp -R /var/lib/mongodb /tmp/mongdb

安装 docker 的方法可以参考这篇文章:

使用 Docker 安装 mongodb

可以使用下面的命令安装某个版本的 mongodb。可以安装的版本号可以参考 https://github.com/docker-library/mongo 中的几个版本号。

docker pull mongo:3.6.0

mongodb 从 3.4 升级到 3.6

运行如下命令,使用当前已有的数据启动 mongodb 3.4:

docker run -p 27017:27017 -v /var/lib/mongodb:/data/db --rm mongo:3.4.0

开启另一个命令行终端,执行 mongo,进入 mongo 命令行。执行以下命令,将兼容数据版本从 3.2 设置为 3.4

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

这时,mongodb 数据库文件就支持被 mongdb 3.6 打开了。为了测试 3.6 版本,先关闭 docker 的 mongdb 3.4 版本程序,运行 mongodb 3.6 版本:

docker run -p 27017:27017 -v /var/lib/mongodb:/data/db --rm mongo:3.6.0

mongodb 从 3.6 升级到 4.0

和上面一样,在在终端运行 mongo 命令连接 mongodb,将数据兼容版本设置为 3.6

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

这时,mongodb 数据库文件就支持被 mongdb 4.0 打开了。为了测试,可以运行:

docker run -p 27017:27017 -v /var/lib/mongodb:/data/db --rm mongo:4.0.0

发表评论

电子邮件地址不会被公开。 必填项已用*标注

CSS秘密花园:磨砂玻璃效果
Previous post
ubuntu 安装 cuda 支持 GTX 1080ti
Next post