出于开发原因,我需要备份生产副本集mongodb并将其恢复到独立的不同机器测试实例上。
有些文档正在讨论相反的问题(独立的2副本集),但我无法找到他的降级/回滚方式。
在这种情况下,该怎么办?
答案 0 :(得分:4)
无论您在副本集中拥有多少个节点,每个节点都拥有相同的数据。
因此,获取数据非常简单 - 只需使用mongodump
(出于性能原因,最好是针对辅助数据),然后使用mongorestore
成为开发独立系统的新mongod。
mongodump
不选择任何与复制相关的集合(它们位于名为local
的数据库中)。如果您最终获取副本节点的文件系统快照而不是使用mongodump
,请确保在将快照还原到生产独立服务器时删除local
数据库,然后重新启动{{ 1}}以便它能够正确检测到不是副本集的一部分。