我使用WiredTiger从MongoDB v3.2.10安装中获得/ data/db文件。我如何在ubuntu上运行MongoDB v2.4.9,使其可以在/ data/db中使用相同的数据文件?我有复制/数据/分贝到新的mongodb目录,但它没有奏效。将mongodb从v3.2.10降级到v2.4.9,保留相同的数据文件
回答
要导入数据路径,可以在初始化dbpath标志时将其传递给mongodb守护进程。例如:
mongod --dbpath /data/db
如果你想恢复以前的MongoDB的转储文件,您可以使用mongorestore选项。例如:
mongorestore --db yourDB /data/db
这会将/数据/ DB恢复到一个名为yourDB
希望我的回答对您有所帮助新的数据库。
感谢您的快速回复。当我按照你的建议mongorestore键入命令--db yourDB/data/db时,它会提示'不知道如何处理文件*******.wt';但是myDB中还有两个收集存储和system.indexes。但是,我无法找到我的数据,谢谢。 – suoyong
@suoyong如果您的文件以_.wt_结尾,那么[WiredTiger存储引擎数据文件](https://docs.mongodb.com/manual/core/wiredtiger/),而不是[mongodump]中的BSON文件( https://docs.mongodb.com/manual/reference/program/mongodump/)。 –
否:文件不兼容,因为它们来自不同的存储引擎。
您的v.3.2安装与WiredTiger storage engine一起运行;这就是为什么您的数据文件具有.wt扩展名。这storage engine只是introduced in MongoDB v3.0;在此之前,唯一可用的存储引擎是MMAPv1。
所以你的MongoDB v2.4.9只能运行MMAPv1数据文件;当你给它WiredTiger数据文件时,它不知道如何处理它们并失败。
如果有降级,那么你将需要使用mongodump作为数据从一个存储引擎到另一个转换的一部分:
- 执行MongoDB v3.2.10与WiredTiger数据文件
- 运行mongodump以产生整个数据库的BSON转储。
- 安装MongoDB的v3.2.10
- 安装MongoDB的v2.4.9
- 运行mongorestore从BSON文件中的数据导入到MMAPv1的数据存储引擎。
- 1. MongoDB从2.1降级到2.0
- 2. 将mdf文件从661降级到655
- 3. 将MSbuild文件从4.0降级到3.5
- 4. MongoDB反复保存相同的数据
- 5. 下载并保存文件并保留相同的文件名
- 6. 从数据库保留表,同时升级Android
- 7. 无法将数据库从版本2降级到1
- 8. Python - 保存到Pickle文件中的数据类型保留
- 9. 将数据正确保存到mongoDB中
- 10. 将SQL CE从4降级到3.5?
- 11. 将SonarQube从6.2降级到6.1
- 12. 将MassTransit从3.4.0降级到3.3.1
- 13. 如何将Microsoft.Data.Entity.Design从10.6降级到10.0?
- 14. 将Scala从2.12降级到2.11.x
- 15. 将ajax留言本保存到文件
- 16. 将SQL数据库升级/更新到新的模式版本,同时保留尽可能多的旧数据
- 17. 从PDF中提取文本并将其保存到数据库 - 保留间距
- 18. 保留在数据帧级联
- 19. 将Blob数据从SQLite数据库保存到文件
- 20. MongoDb - 将一个数据库复制到另一个数据库,同时保留用户
- 21. 将WiX安装集升级到相同的文件夹
- 22. 将mongodb保存到不同的分区
- 23. 保存listview数据到相同的excel文件,但不同的表格
- 24. 将二进制文件数据从SQL Server迁移到MongoDB GridFS
- 25. 使用JPA导入数据保留相同的标识符
- 26. mongodb在保存数据时生成相同的ObjectID
- 27. 在保留文件的同时用Bash删除文件结构中的级别
- 28. 删除文件夹后保留相同的位置
- 29. 从rails 3.1降级到3.0.9
- 30. 将数据从分组表中复制到CSV,同时保留原始列
你正在安装哪个新的db版本?旧版本是什么? – Astro
我的旧版本是3.2.10,新版本是2.4.9 – suoyong
你从3.2.10降级到2.4.9? – Astro