Linux版MongoDB故障恢复方法如下:
停止服务:
sudo systemctl stop mongod
备份数据(可选):
mongodump --out /path/to/backup
修复数据文件:
--repair
模式:mongod --dbpath /var/lib/mongodb --repair
修复后重启服务:sudo systemctl start mongod
wt salvage
命令修复数据文件,需先安装WiredTiger工具。从备份恢复:
停止服务后,用备份文件覆盖数据目录,再启动服务。
副本集故障处理:
rs.status()
查看状态,移除故障节点后重新添加:rs.remove("故障节点:端口")
rs.add("故障节点:端口")
cfg = rs.conf()
cfg.members[故障节点索引].priority = 0
cfg.members[故障节点索引].votes = 0
rs.reconfig(cfg, {force: true})
日志分析:
查看/var/log/mongodb/mongod.log
定位故障原因。
注意:操作前确保已备份数据,优先通过副本集自动恢复,手动修复需谨慎。