mongodb不停机备份

本文详细介绍了 MongoDB 数据库备份与还原的过程,包括如何使用 fsync 和 lock 命令锁定数据库进行备份,以及如何通过 mongodump 和 mongorestore 命令进行数据的备份与恢复。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、备份

1.锁定数据库:
use admin
db.runCommand({fsync:1,lock:1})
{
“info” : “now locked against writes, use db.fsyncUnlock() to unlock”,
“seeAlso” : “http://www.mongodb.org/display/DOCS/fsync+Command”,
“ok” : 1
}
fsync:强制将所有缓冲写入磁盘
lock:上锁,不能写入(所有写的操作会阻塞)
2.开始备份……

mongodump -d mailaccess -c Mail -q ‘{user:”zhaoxy1@szdep.com”}’ -o /data/dump
备份mailaccess database的Mail collection到/data/dump目录
-d:备份哪个数据库
-c:备份哪个collection(可选,不传默认为整个database)
-q:指定备份collection的条件(与-c参数一起使用) 


3.备份完后解锁:
use admin
db.$cmd.sys.unlock.findOne()
{ “ok” : 1, “info” : “unlock completed” }


二、还原:
mongorestore -d MA –drop /data/dump/mailaccess
还原/data/dump目录下的mailaccess数据库到MA database中
-d:还原到哪个数据库
–drop表示在恢复前先删除原来的集合(如果存在的话)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值