一、查看主从状态
1、rs.status()

状态值 状态名 状态说明 0 STARTUP 所有成员都以该状态启动,mongod在启动状态下解析副本集配置文档。 1 PRIMARY 主节点状态,唯一支持写的节点。有投票资格 2 SECONDARY 从节点状态,复制同步数据。有投票资格 3 RECOVERING 恢复状态,要么从完成回滚或重新同步过渡。有投票资格 5 STARTUP2 加入副本集,并正在运行初始同步。有投票资格 6 UNKNOWN 从副本集的另一个成员的角度来看,该成员的状态尚不清楚。没有投票资格 7 ARBITER 仲裁节点状态,不复制数据,仅存在于参加选举中。 有投票资格 8 DOWN 从副本集的另一个成员的角度来看,该成员不可访问。没有投票资格 9 ROLLBACK 回滚节点状态,无法从该成员读取数据。有投票资格 10 REMOVED 删除节点状态,从副本集中删除。
2、查看从库延时情况
--4.0以上
rs.printSecondaryReplicationInfo()
--4.0以下
rs.printSlaveReplicationInfo()

二、恢复从库
https://www.mongodb.com/docs/manual/tutorial/resync-replica-set-member/
1、重做从库
1)关闭损坏的从库
2)删除从库data目录下所有的数据
3)开启从库,将自动恢复
4)问题点(为解决)
从库恢复过程中总是timeout ,可能是另一个从库负载太高导致

2、备份恢复
1)使用createBackup做的备份(物理备份)
2)删除损坏从库/data下所有数据
3)将createBackup做的备份解压到/data目录下
4)开启从库
createBackup备份示例:
${bin_path}/mongo ${host}:${port}/admin -u ${account} -p ${password} > ${backup_log} << EOF
use admin;
db.runCommand({createBackup: 1,backupDir: "${BACKUP_PATH_DATE}"});
exit;
EOF
posted on
浙公网安备 33010602011771号