我们正在尝试在一个相对较小的数据库上做一个简单的 MongoDump。
我们的步骤很简单:
导出
从目标机器上删除现有的数据库
在目标机器上导入
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/