【发布时间】:2017-04-14 22:56:44
【问题描述】:
有没有办法重新生成丢失的WiredTiger.wt?我们的 MongoDB 实例停止工作(奇怪地),并且该文件从 dbpath 文件夹中丢失了——似乎这种行为是 known。
顺便说一句,修复实用程序不成功:
file:WiredTiger.wt, connection: .//WiredTiger.wt: handle-open: open: No such file or directory
丢失数据库很难忍受......
有什么想法吗?谢谢。
P.S.我们仍然得到了所有其他 .wt 文件。
【问题讨论】:
-
您是否有
dbPath的旧备份,或者这是您数据的唯一副本?WiredTiger.wt文件包含基本元数据,无法重新创建。您使用的是哪个特定版本的 MongoDB? -
这就是整个问题,我们没有任何备份,因为项目是全新的......我们没有打扰,但是,你生活和学习,对吧? :) (v3.2.10)
-
非常不幸的一课,但希望新项目意味着您没有丢失太多数据。如果你很绝望,可能(但很痛苦)使用 WiredTiger 命令行工具从集合中转储一些数据,但这是一条不受欢迎且不受支持的道路。对于具有关键数据的生产环境,我建议使用持续备份服务(例如 MongoDB Cloud Manager)并部署为副本集。
-
您能否分享有关“停止工作”事件的任何详细信息或日志?您是否关闭了
mongod,它是否自行关闭了,...?另外,您是如何部署 MongoDB(直接在 Docker/container/...中)以及在什么操作系统上部署的? -
@Stennie 当然,任何你想要的——我们在 16.10 Ubuntu 上运行 MongoDB。该数据库由 NodeBB 实例使用,不涉及 Docker 或任何部署自动化系统。我们只是从发布包中安装了 MongoDB。我会尝试为您获取一些日志(将编辑原始帖子)。感谢您的宝贵时间。