在Ubuntu上恢复MongoDB数据常用方法如下:
-
使用
mongorestore恢复备份数据- 停止MongoDB服务:
sudo systemctl stop mongod。 - 执行恢复命令:
mongorestore --db <数据库名> <备份目录>,如mongorestore --db mydb /backup/mydb。 - 可选:添加
--drop选项删除现有数据(谨慎使用)。 - 启动服务:
sudo systemctl start mongod。
- 停止MongoDB服务:
-
利用Oplog恢复(适用于误删或故障)
- 确保Oplog已启用(默认开启),通过
rs.conf()查看复制集配置。 - 重放Oplog操作:
mongorestore --db <数据库名> --oplogReplay <备份目录>。
- 确保Oplog已启用(默认开启),通过
-
使用WT工具修复数据文件(数据损坏时)
- 停止服务并备份数据文件。
- 运行修复命令:
mongod --dbpath /var/lib/mongodb --repair。 - 重新启动服务并验证数据。
注意事项:
- 恢复前确保备份完整,停止写操作避免数据冲突。
- 定期备份数据,优先使用自动化脚本(如
crontab+mongodump)。 - 操作前建议在测试环境验证恢复流程。
参考来源:[1,2,3,4,5,6,7,9,10,11]