将mongodb从v3.2.10降级到v2.4.9,保留相同的数据文件

时间:2017-03-06 03:06:14

标签: mongodb

我使用WiredTiger安装MongoDB v3.2.10中的/ data / db文件。如何在ubuntu上以可以在/ data / db中使用相同数据文件的方式运行MongoDB v2.4.9?

仅供参考,我已将/ data / db复制到新的mongodb目录,但它还没有工作。

2 个答案:

答案 0 :(得分:1)

要导入数据路径,可以在初始化时将dbpath标志传递给mongodb守护程序。例如:

mongod --dbpath /data/db

如果要还原以前的mongodb转储文件,可以使用mongorestore选项。例如:

mongorestore --db yourDB /data/db

这会将/ data / db恢复到名为 yourDB

的新数据库

希望我的回答很有帮助。

答案 1 :(得分:0)

否:文件不兼容,因为它们来自不同的存储引擎。

您的v.3.2安装与WiredTiger storage engine一起运行;这就是为什么您的数据文件具有 .wt 扩展名的原因。此storage engine仅为introduced in MongoDB v3.0;在此之前,唯一可用的存储引擎是MMAPv1

所以你的MongoDB v2.4.9只能运行MMAPv1数据文件;当你给它WiredTiger数据文件时,它不知道如何处理它们并失败。

如果你必须降级,那么你需要使用mongodump作为数据从一个存储引擎转换到另一个存储引擎的一部分:

  1. 使用WiredTiger数据文件运行MongoDB v3.2.10
  2. 运行mongodump以生成整个数据库的BSON转储。
  3. 安装MongoDB v3.2.10
  4. 安装MongoDB v2.4.9
  5. 运行mongorestore将BSON文件中的数据导入MMAPv1数据存储引擎。