暂无图片
mongodb以外关机后无法启动、文件丢失还能怎么救?
我来答
分享
数据库管理员陆美芳
2024-03-13
mongodb以外关机后无法启动、文件丢失还能怎么救?

问题描述:
机房停电,数据库未正常关闭,通电后mongodb启动失败,dockers部署的。
尝试过:
删除journal、lock等文件再启动——无效
repair–未完成
安装WT工具,执行捞取数据时效果如下:
wt -v -h /opt/dockerstore/mongo6/data -C"extensions=[/usr/local/wiredTiger/lib/libwiredtiger_snappy.so]" list
[1705041278:598520][6004:0x7f86221cd740], wt, file:index-54-3359753061201597668.wt, txn rollback_to_stable: __posix_open_file, 808: /opt/dockerstore/mongo6/data/index-54-3359753061201597668.wt: handle-open: open: No such file or directory

问:还有什么办法?

我来答
添加附件
收藏
分享
问题补充
3条回答
默认
最新
数据库管理员陆美芳

就是尝试了你说的 mongod --repair命令,结果是未完成;然后库是内部使用,别人安装的,没有做定期备份;尝试了WiredTiger的工具来恢复数据,提升了文件找不到;至于找专业的数据库恢复团队,就没有必要,因为是内部接口文档管理的数据,没有必要花钱。

暂无图片 评论
暂无图片 有用 0
暂无图片
lianR

这种情况下,你可以尝试以下几种方法:
1.  检查磁盘空间:确保你的磁盘空间足够,因为mongodb在启动时需要一定的磁盘空间。
2.  检查文件权限:确保mongodb的数据文件的权限设置正确,mongodb需要有读写权限。
3.  检查mongodb的配置文件:确保mongodb的配置文件没有错误。
4.  尝试使用备份恢复:如果你有mongodb的备份,你可以尝试使用备份来恢复数据。
5.  尝试使用数据恢复工具:有一些数据恢复工具可能可以帮助你恢复数据,例如EaseUS  Data  Recovery  Wizard,R-Studio等。

暂无图片 评论
暂无图片 有用 0
数据库管理员陆美芳
题主
2024-03-14
感谢回答
数据库管理员陆美芳

Linux下的docker部署的mongodb,断电后的启动报错,日志里面看到是关于wiredTiger的错误,搜过很多资料,最有可能的是通过WT工具捞取WT文件里面的数据,但是如果WT有丢失,好像是没有办法了,是没有备份的,如果有备份我是知道怎么恢复的;以为还有什么办法,看来是没办法了。

暂无图片 评论
暂无图片 有用 0
lianR
2024-03-14
如果你遇到了WiredTiger错误,那么你的MongoDB数据库可能已经损坏。这种情况下,你可能需要尝试恢复数据。以下是一些可能的解决方案: 1. 尝试使用`mongod --repair`命令来修复数据库。这个命令会尝试修复和恢复尽可能多的数据。 2. 如果你有数据库的备份,你可以尝试恢复备份。这是最安全的恢复方法,但是前提是你需要有备份。 3. 如果你没有备份,你可以尝试使用WiredTiger的工具来恢复数据。你可以在WiredTiger的官方文档中找到如何使用这些工具的指南。 4. 如果WiredTiger的工具也无法恢复数据,那么你可能需要寻求专业的数据恢复服务。 在处理这种问题时,最重要的一点是尽可能避免在没有备份的情况下进行任何可能导致数据丢失的操作。在尝试任何恢复步骤之前,最好先创建数据库的完整副本。 在未来,为了避免这种情况,你应该定期备份你的MongoDB数据库,并且确保你的服务器有不间断电源供应。
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏