从WiredTiger文件恢复损坏的mongo db

时间:2018-03-15 13:57:44

标签: database mongodb restore wiredtiger

所以这是我的情景:

  • 今天我的服务器由我们的主机重启(acpi shutdown)。
  • 我的mongo数据库是一个简单的docker容器(mongo:3.2.18)
  • 由于未知原因导致容器在重新启动时未重新启动(restart: always已在docker-compose中设置。)
  • 我启动它并注意到卷映射已经消失。
  • 我将它们恢复到旧路径,重新启动了mongo容器,它启动时没有错误。
  • 我连接到数据库,它完全是空的。
> show dbs
local  0.000GB
> use wekan
switched to db wekan
> show collections
> db.users.find();
>

此外,我已经尝试了db.repairDatabase();,没有效果。

现在我的_data目录包含很多* .wt文件等等。 (File list

我发现collection-0-2713973085537274806.wt的文件大小约为390MiB。

这可能是我需要恢复的数据,假设它的大小。

有哪些方法可以恢复此数据?

我已根据this article使用wt salvage试图运气,但我无法让它运行 - 仍在尝试。

我知道备份,备份,备份!可悲的是,这个数据库没有备份。

Related GitHub issue,包含软件的详细信息。

更新

我能够使用WiredTiger Data Engine工具创建.dump文件。但是我无法将其导入到mongoDB中。

0 个答案:

没有答案