Mongodb在重建索引时中断

时间:2015-01-19 13:55:41

标签: mongodb shell indexing database

我有一个大约3,000,000个条目的集合,我需要重新索引。当我尝试添加2d索引时,这一切开始了。为此,我创建了一个ssh隧道,打开了mongo shell并尝试使用ensureIndex。我在一个有点不可靠的互联网连接的地方,一小时后它最终打破了管道。然后我重新进入隧道,打开mongo shell并尝试使用getIndexes查看索引的数量;我创建的新索引出现了,但我不确定它已经完成,所以我决定使用reIndex。回想起来,这是愚蠢的。管道再次破裂。现在,当我打开shell并尝试发出getIndexes时,shell不会响应。

那我该怎么办?我需要修复我的数据库吗?当我有更可靠的互联网连接时,我可以发出reIndex吗?有没有办法在不保持shell打开的情况下发出reIndex,但是没有在后台执行并且需要花费时间? (我将检查mongod shell选项以查看是否可以找到任何内容,然后检查node.js mongo api,以便我可以尝试在服务器上运行某些服务)

而且,如果我最终在服务器上运行reIndex作为服务,有没有办法检查它是否正常工作?现在最令人沮丧的部分是我不知道我的数据库是否正常,如果reIndex仍在运行等等。任何帮助都将非常感激。感谢。

2 个答案:

答案 0 :(得分:1)

关于连接问题,请尝试使用screen命令。 它使您能够创建一个" persistent"屏幕 - 不是磁盘持久性的方式,而是连接丢失的方式。

答案 1 :(得分:1)

你没有问题。 Mongo运行命令,只有在你明确终止操作时才停止它们(db.killOp())。

您无需等待索引操作完成!