mongodb不停机备份
时间:2015-04-28 23:07 来源:linux.it.net.cn 作者:IT
一、备份
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表示在恢复前先删除原来的集合(如果存在的话)
(责任编辑:IT)
一、备份 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表示在恢复前先删除原来的集合(如果存在的话) (责任编辑:IT) |