MongoDB在CentOS上的备份与恢复配置
一、备份配置
1. 手动备份
使用 mongodump
命令,示例:
- 全量备份:
mongodump --host 127.0.0.1 --port 27017 -u root -p 123456 --authenticationDatabase admin --out /data/backup/mongodump
- 指定数据库/集合:
mongodump --db test --collection trackEvent --out /data/backup/test
- 压缩备份:
mongodump --out /data/backup/$(date +%Y%m%d) | gzip > /data/backup/$(date +%Y%m%d).tar.gz
2. 定时备份(crontab)
- 创建备份脚本
/home/crontab/mongod_bak.sh
:#!/bin/bash DUMP=/usr/bin/mongodump OUT_DIR=/data/backup/mongod_bak/$(date +%Y%m%d) mkdir -p $OUT_DIR $DUMP -h 127.0.0.1 -u root -p 123456 --authenticationDatabase admin -o $OUT_DIR tar -zcvf /data/backup/mongod_bak_$(date +%Y%m%d).tar.gz $OUT_DIR find /data/backup/mongod_bak/ -mtime +7 -delete # 删除7天前备份
- 添加定时任务:
crontab -e
,添加0 2 * * * /home/crontab/mongod_bak.sh
(每天凌晨2点执行)
二、恢复配置
1. 解压备份(若为压缩文件)
tar -xzvf /data/backup/mongod_bak_20250812.tar.gz -C /
2. 恢复数据
- 恢复全部数据库:
mongorestore --host 127.0.0.1 --port 27017 -u root -p 123456 --authenticationDatabase admin /data/backup/mongod_bak/20250812
- 恢复指定数据库:
mongorestore --db test /data/backup/mongod_bak/20250812/test
- 恢复时删除现有数据(慎用):
mongorestore --drop --db test /data/backup/mongod_bak/20250812/test
3. 启动服务
sudo systemctl start mongod
三、注意事项
- 权限:确保备份/恢复目录可被MongoDB用户访问。
- 版本兼容:备份与恢复的MongoDB版本需一致。
- 服务状态:恢复前建议停止MongoDB服务,避免数据冲突。
- 验证备份:可通过
mongorestore --dryRun
模拟恢复测试。
参考来源:[1,2,3,5,6,7,8,9,10,11]
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权请联系我们,一经查实立即删除!