背景
某交付项目机房经常断电,致使mongo的数据损坏,无法启动。
沟通后确认不使用打捞数据(咱也不会),通过恢复昨天备份来启动mongo集群。
操作
-
删除目前数据(一般存在mongo目录/data的文件夹下)
-
启动数据库
-
将昨天的备份导入
/data/mongodb/30007/bin/mongorestore --host 127.0.0.1 --port 30007 --oplogReplay --drop /home/mongodb/bakDir/30007/2019-09-16/05-31-03 (导入目录) -
进入mongo,初始化
rs.initiate {"_id" : "mySet", "members" : [{ "_id" : 0,"host" : "192.168.10.14:27018"}]} rs.reconfig(config,{force:true}) -
mongo从节点也是同样操作 1 2 (注意,启动时也要按照主从方式启动,后续节点不然加不进去)
-
从节点置空后,加入集群。进入主mongo,执行命令
rs.add("192.168.10.16:27018"); -
最开始从节点的状态,在同步主节点的数据。