mongodb断电恢复

1,347 阅读1分钟

背景

某交付项目机房经常断电,致使mongo的数据损坏,无法启动。

沟通后确认不使用打捞数据(咱也不会),通过恢复昨天备份来启动mongo集群。

操作

  1. 删除目前数据(一般存在mongo目录/data的文件夹下)

  2. 启动数据库

  3. 将昨天的备份导入

         /data/mongodb/30007/bin/mongorestore --host 127.0.0.1 --port 30007  --oplogReplay --drop  /home/mongodb/bakDir/30007/2019-09-16/05-31-03 (导入目录)
    
  4. 进入mongo,初始化

        rs.initiate {"_id" : "mySet", "members" : [{ "_id" : 0,"host" : "192.168.10.14:27018"}]}
        rs.reconfig(config,{force:true})
    
  5. mongo从节点也是同样操作 1 2 (注意,启动时也要按照主从方式启动,后续节点不然加不进去)

  6. 从节点置空后,加入集群。进入主mongo,执行命令

        rs.add("192.168.10.16:27018");
    
  7. 最开始从节点的状态,在同步主节点的数据。

观察从节点的/data目录增长 最后会变成secondary,表示数据同步完成。