mogodb 数据恢复(单服务器)

因为在服务使用中错误的将权限设置错误,导致服务无法启动。 估重新设置了新的用户权限,需要将丢失数据进行恢复

我的错误权限设置操作:

 #mongodb shell 中

 use admin;
 var s= db.system.version.findOne({"_id" : "authSchema"});
 s.currentVersion = 3;
 db.system.version.save(s) ;

  然后重启mongo 就再也无法启动了
  这是设置mongodb 使用低版本的权限认证,由于我的mongodb 版本是4.0.9 ,MONGODB-CR 已经不支持了,所以设置之后无法使用

之后我备份了之前的数据文件,重新用新的db目录存在,正常使用,只是之前的数据需要重新引入

 恢复原有数据
  参考:
  
    导入时读不到数据_通过WT工具对Mongodb进行数据恢复_王洛堇的博客-CSDN博客
      Linux系统下WiredTiger的构建与安装_Tsunaou的试验场-CSDN博客
   安装 WiredTiger

读取原数据

yum -y install snappy.x86_64 snappy-devel.x86_64

git clone -b mongodb-4.2 git://github.com/wiredtiger/wiredtiger.git

cd wiredtiger
sh autogen.sh
./configure --enable-snappy –prefix=/usr/local/wiredTiger

sudo make install
wt -v -h  /home/java/mongo/mongodb/data_bak/  -C "extensions=[/usr/local/wiredTiger/lib/libwiredtiger_snappy.so]" dump -f /home/java/mongo/repair/a.dmp rz_data/collection-0--3086164392798398876

写入数据

/wt  -v -h /home/java/mongo/mongodb/data/ -C "extensions=[/usr/local/wiredTiger/lib/libwiredtiger_snappy.so]"-R load -f /home/java/mongo/repair/a.dmp  -r rz_data/collection-0--8789361734414650418

然后使用mongodb原生工具导出导入就恢复正常了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值