MongoDB:如何使用索引复制数据库/集合?

时间:2011-07-14 12:54:23

标签: mongodb data-migration

我需要将大量数据从一个mongo副本(src)迁移到另一个(dst)。但是将dst实例上的数据保留在可用状态非常重要。我将使用copyDatabase命令来满足这些需求。我是否有机会复制已经索引?它可以在dst实例中排除其娱乐的努力吗?由于进程在前台运行而且我希望尽可能地减少它,因此重新创建会对辅助节点产生显着影响。

感谢您提供任何帮助或建议。

1 个答案:

答案 0 :(得分:1)

copyDatabase()不会复制索引,因此在导入后它们将在目标上重新创建。

如果您正在运行启用了日记功能的源mongod实例(默认情况下为v2.0 +),则只需复制数据目录的内容(包含许多文件的文件夹,格式为collection_name.0,collection_name .1等)进入目的地的数据目录,然后重启目的地的mongod实例。

如果这些实例是副本集的一部分,则只应复制与您创建的集合相关的文件,并排除“local.x”文件,因为这些文件与副本集的配置相关。