使用WT工具恢复MongoDB数据

本文介绍了如何在MongoDB数据丢失的情况下,利用WiredTiger工具进行数据恢复。首先,编译适用于系统的WT工具,接着,如果部分数据文件尚存,可以尝试直接使用WT恢复。在缺乏元数据的情况下,需要手动构造文件并借助MongoDB实例来恢复数据。通过一系列步骤,最终可以在MongoDB中找回丢失的数据。
摘要由CSDN通过智能技术生成

众所周知MongoDB的底层存储是由WiredTiger负责的,其数据文件也是.wt格式。既然如此,我们就有可能不通过MongoDB服务,而是直接用wt工具从数据文件中恢复数据。虽然我们通常推荐生产环境一定要配置复制集,但是很无奈,技术社区已经数次有人因为单机运行,最后硬盘损坏等原因导致无法启动。wt工具作为最后一根稻草,可以在放弃治疗前再尝试挽救一下。


编译

wt工具可以运行于Linux和Windows上。因为各自的操作系统和MongoDB版本不同,可能产生较多的组合。在使用时应该根据自己情况编译适合的版本。下面以CentOS 7为例演示编译过程。

1.安装操作系统依赖

sudo yum install -y epel-release libtool automake snappy snappy-devel lz4 lz4-devel zstd zstd-devel libzstd-devel zlib zlib-devel git make vim-common

2. 准备源码

git clone https://github.com/wiredtiger/wiredtiger.git

根据所使用的MongoDB版本,应该选择正确的wt分支。例如我当前使用的MongoDB 4.4.1,那么同样应该选择WiredTiger的相应tagmongodb-4.4.1

> git tag | grep 4.4.1mongodb-4.4.1mongodb-4.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值