wt 修复数据

测试环境:
docker 安装centos 镜像
centos                centos7   eeb6ee3f44bd   7 months ago    204MB
进入容器:
docker exec -it docker-centos /bin/bash

 


在容器内安装MongoDB server version: 4.0.28
 
在centos容器内安装wt
参考文档:https://mongoing.com/archives/81301

过程:
1、在mongo-shell中创建一个collection
use other
db.test.insert({title:"aaa"})
然后找到这个collection对应的xxx.wt文件
 
2、关闭mongod服务
use admin
db.shutdownServer()
3、使用待恢复的待恢复.wt 替换 xxx.wt文件
mv collection-2--6187931761470235217.wt collection-0--4903150217994816419.wt
4、执行 wt salvage file:xxx.wt
wt salvage file:collection-0--4903150217994816419.wt
mongod --dbpath /var/lib/mongo --logpath /var/log/mongodb/mongod.log --fork
5、数据已经恢复到对应的collections中
use other
db.test.find().pretty()

发现的缺点:只能一个个去修复,并且不知道集合名

posted @ 2022-04-29 16:02  ZhiRuSi  阅读(247)  评论(0)    收藏  举报