ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

MongoDB mongodump mongorestore备份恢复实操记录

MongoDB mongodump mongorestore备份恢复实操记录 部署主机10.10.10.128操作系统CentOS Linux7.9.2009MongoDB版本4.2.25部署日期2026‑09‑20一、概述mongodump/mongorestore是MongoDB逻辑备份工具导出BSON二进制文件支持全实例、单库、单集合备份支持压缩备份适合数据迁移、故障恢复。注意逻辑备份不适合TB级超大数据场景。二、环境准备业务库appdb集合orders端口27017创建测试数据。mongo --port 27017use appdbdb.orders.insertMany([{no:2001,amount:200,user:user01},{no:2002,amount:350,user:user02},{no:2003,amount:120,user:user03}])#创建备份存储目录mkdir -p /data/mongo_backup三、mongodump备份操作#1.备份整个MongoDB实例全部库mongodump --host localhost --port 27017 -o /data/mongo_backup/full_all#2.只备份appdb单个数据库mongodump --host localhost --port 27017 -d appdb -o /data/mongo_backup/only_appdb#3.备份appdb下orders单个集合mongodump --host localhost --port 27017 -d appdb -c orders -o /data/mongo_backup/single_collection#4.开启gzip压缩备份节省磁盘空间 mongodump --host localhost --port 27017 -d appdb -o /data/mongo_backup/gzip_appdb --gzip#5.带账号密码备份开启auth认证环境mongodump -u root_admin -p Root123456 --authenticationDatabase admin --port 27017 -d appdb -o /data/mongo_backup/auth_backup#查看备份目录结构ls /data/mongo_backup/四、mongorestore数据恢复操作#模拟故障删除appdb库mongo --port 27017 use appdb db.dropDatabase()#1.恢复整个备份目录全部库mongorestore --port 27017 /data/mongo_backup/full_all#2.只恢复appdb数据库mongorestore --port 27017 -d appdb /data/mongo_backup/only_appdb/appdb#3.恢复单集合orders mongorestore --port 27017 -d appdb -c orders /data/mongo_backup/single_collection/appdb/orders.bson#4.恢复压缩gzip备份需要加--gzip参数mongorestore --port 27017 --gzip /data/mongo_backup/gzip_appdb#5.--drop参数恢复前先删除目标集合谨慎原有数据会清空mongorestore --port 27017 --drop -d appdb /data/mongo_backup/only_appdb/appdb五、恢复验证mongo --port 27017use appdbdb.orders.find()#确认数据条数与原始测试数据一致备份恢复流程正常。六、重要注意事项1.mongodump是逻辑备份备份期间mongod服务必须正常运行。2.--drop参数慎用会删除目标库/集合原有数据再导入。3.副本集备份建议备份PRIMARY主节点也可以备份SECONDARY从节点降低主库压力。4.备份脚本可以配合crontab定时任务做周期自动备份。七、运维命令 #定时备份脚本示例伪代码#crontab -e#0 2 * * * mongodump --port 27017 -o /data/mongo_backup/$(date %Y%m%d)
返回列表