2015-01-05 29 views
0

失败我试图将转储的数据库恢复到本地服务器,但它失败。mongorestore空的system.js.bson

为了使转储我运行:
mongodump --host somehost.com -d app123 --port 10043 --username my_username --password my_password --out /tmp/mongodump
并能正常工作。

要恢复我运行:
mongorestore --db my_db --drop /tmp/mongodump/app123
并在空文件失败:

2015-01-05T12:56:47.759+0100 /tmp/mongodump/app123/system.js.bson 
2015-01-05T12:56:47.759+0100 going into namespace [my_db.system.js] 
file /tmp/mongodump/app123/system.js.bson empty, skipping 
2015-01-05T12:56:47.759+0100 Creating index: { key: { _id: 1 }, ns: "my_db.system.js", name: "_id_" } 
2015-01-05T12:56:47.803+0100 DBClientCursor::init call() failed 
assertion: 10276 DBClientBase::findN: transport error: 127.0.0.1:27017 ns: my_db.$cmd query: { getlasterror: 1 } 

如果我删除系统*从转储然后mongorestore工作没有任何错误。

+0

这不是一个编程问题。与数据库管理和配置相关的问题属于[dba.stackexchange.com](http://dba.stackexchange.com)。 StackOverflow只是一个编程问题的网站。 –

回答

1

我觉得这跟_id_指数有关。尝试删除或重命名此,然后再做mongodump,看看是否有效。

我曾经有一个类似的问题,这是一个索引。我不记得是否删除了索引或将其重命名。所以它可能是下划线,在这种情况下重命名它应该工作。或者可能是索引损坏了,在这种情况下删除它是你唯一的选择。

+0

我试图重命名或删除远程服务器上的system.js/_id_索引,但索引保持不变。我使用的是Robomongo客户端,并没有任何影响。在日志中有一个错误:'dropIndex失败' – oluckyman

+0

尝试从mongodump目录中删除索引文件并查看它是否导入。如果是这样,它肯定与该索引有关。如果你不能放弃索引,那么它可能会被使用。我们正在详细介绍您的实施细节,因此很难提供相关的准确支持。 –

+0

删除文件'system.js.metadata.json'(存储索引)解决了这个问题。 – oluckyman

相关问题