mongodb - Mongodump 后,调用 MongoRestore 挂起

标签 mongodb mongodump mongorestore nosql

我们正在尝试在一个相对较小的数据库上做一个简单的 MongoDump。

我们的步骤很简单:

  1. 导出

  2. 从目标机器上删除现有的数据库

  3. 在目标机器上导入

MongoDump 执行完美。

mongodump --out=/root/mongo-prod

数据库删除也是如此:

mongo db_name --eval "db.dropDatabase()"

另一方面,在调用mongoRestore之后

mongorestore --stopOnError --drop --db db_name /root/mongo-prod-{{ build }}/db_name/

导入过程开始,并在 3 个特定集合上挂起并重复出现以下错误:

    no collection options to restore
restoring db_name.Collection4 from file /root/mongo-prod-31/db_name/Collection4.bson
        file /root/mongo-prod-31/db_name/Collection4.bson is 56625 bytes
using 1 insertion workers
[########################]                 db_name.Collection1  106.7 KB/106.7 KB  (100.0%)
[########################]                db_name.Collection2    63.5 KB/63.5 KB  (100.0%)
[######..................]                db_name.Collection3     6.7 MB/25.9 MB   (25.8%)
[########################]  db_name.Collection4    55.3 KB/55.3 KB  (100.0%)

[########################]                 db_name.Collection1  106.7 KB/106.7 KB  (100.0%)
[########################]                db_name.Collection2    63.5 KB/63.5 KB  (100.0%)
[######..................]                db_name.Collection3     6.7 MB/25.9 MB   (25.8%)
[########################]  db_name.Collection4    55.3 KB/55.3 KB  (100.0%)

******* 无限循环 *******

p.s 添加 --repair 到 mongodump 命令,在 mongorestore 上创建一个不同的错误:

  Failed: restore error: db_name.Collection1: error restoring from /root/mongo-prod-33/db_name/Collection1.bson: insertion error: E11000 duplicate key error index: db_name.Collection1.$_id_ dup key: { : ObjectId('5651802de4b0293285f7f508') }

最佳答案

我刚刚花了一个小时:

从存档中读取

--archive=/backup...

忽略存档参数并等待标准输入

--archive /backup

似乎参数可以与 arg 值或 arg=value 一起使用,只是不能存档...

关于mongodb - Mongodump 后,调用 MongoRestore 挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33867354/

相关文章:

node.js - MongoDB $ lookup vs Mongoose 填充

mongodb - 使用自引用对象在集合中搜索

mongodb - mongodump "Failed: bad option: can only dump a single collection to stdout"

mongodb - 如何将 mongodump 用于 1 个集合

node.js - 如何从 Nodejs 应用程序容器使用 mongodump 命令?

MongoDb:如何从 .gz 文件导入转储数据?

mongodb - 错误 : not authorized on db to execute command

python - InvalidBSON 消耗游标并引发 StopIteration。如何跳过坏文档?

mongodb错误: how do I make sure that your journal directory is mounted

MongoDB 从 3.2 转储,使用 3.4 恢复,错误索引安全 = null