mongodb单机:
备份所有的库:
mongodump --host 10.10.7.33:27019 --gzip --out /home/mongodb/0415_bf
备份指定的库:
mongodump --host 10.10.10.251:21100 -d dbname --gzip -out /home/mongodb/bjData2
restore恢复:
mongorestore --host <ip>:<port> --gzip /home/mongodb/bjData
Replica Set集群的备份:
备份数据集:
mongodump -h
"ttlsa/10.1.1.155,10.1.1.156,10.1.1.157"
--oplog -o /backup/mongodbbackup/
1. 将复制集中要恢复的成员移除集群
2. 运行mongorestore --oplogReplay命令
1
|
# mongorestore --oplogReplay dump/
|
3. 创建oplog
1
2
|
>
use
local
> db.createCollection(
"oplog.rs"
, {
"capped"
:
true
,
"size"
:
10000000
})
|
4. 恢复oplog
1
|
# mongorestore -d local -c oplog.rs dump/oplog.bson
|
注意:oplog.bson不位于dump/local/oplog.rs.bson, oplog.bson记录mongodump过程中发生的操作。
sharding集群备份与恢复
对于比较小型的分片集群,可以直接通过mongodump连接到mongos进行备份,备份的文件将包含config服务器的元数据信息和实际数据。
对于大型的分片集群,备份步骤如下:
1. 关闭balancer
注意:连接到mongos而不是config server实例。
1
2
3
4
|
> sh.setBalancerState(
false
) 或
> sh.stopBalancer() 或
>
use
config
> db.settings.update( { _id:
"balancer"
}, { $
set
: { stopped:
true
} } ,
true
);
|
2. 备份集群元数据
使用mongodump备份任意一台config server。
可以直接连接任意一台的config mongod实例,也可以通过mongos连接。
1
|
# mongodump --db config
|
3. 备份shard集群内各个replica set
可并行执行。
4. 启用balancer
注意:连接到mongos而不是config server实例。
1
2
3
4
|
> sh.setBalancerState(
true
) 或
> sh.startBalancer() 或
>
use
config
> db.settings.update( { _id:
"balancer"
}, { $
set
: { stopped:
false
} } ,
true
);
|
mongodb单机:
备份所有的库:
mongodump --host 10.10.7.33:27019 --gzip --out /home/mongodb/0415_bf
备份指定的库:
mongodump --host 10.10.10.251:21100 -d dbname --gzip -out /home/mongodb/bjData2
restore恢复:
mongorestore --host <ip>:<port> --gzip /home/mongodb/bjData
Replica Set集群的备份:
备份数据集:
mongodump -h
"ttlsa/10.1.1.155,10.1.1.156,10.1.1.157"
--oplog -o /backup/mongodbbackup/
1. 将复制集中要恢复的成员移除集群
2. 运行mongorestore --oplogReplay命令
1
|
# mongorestore --oplogReplay dump/
|
3. 创建oplog
1
2
|
>
use
local
> db.createCollection(
"oplog.rs"
, {
"capped"
:
true
,
"size"
:
10000000
})
|
4. 恢复oplog
1
|
# mongorestore -d local -c oplog.rs dump/oplog.bson
|
注意:oplog.bson不位于dump/local/oplog.rs.bson, oplog.bson记录mongodump过程中发生的操作。
sharding集群备份与恢复
对于比较小型的分片集群,可以直接通过mongodump连接到mongos进行备份,备份的文件将包含config服务器的元数据信息和实际数据。
对于大型的分片集群,备份步骤如下:
1. 关闭balancer
注意:连接到mongos而不是config server实例。
1
2
3
4
|
> sh.setBalancerState(
false
) 或
> sh.stopBalancer() 或
>
use
config
> db.settings.update( { _id:
"balancer"
}, { $
set
: { stopped:
true
} } ,
true
);
|
2. 备份集群元数据
使用mongodump备份任意一台config server。
可以直接连接任意一台的config mongod实例,也可以通过mongos连接。
1
|
# mongodump --db config
|
3. 备份shard集群内各个replica set
可并行执行。
4. 启用balancer
注意:连接到mongos而不是config server实例。
1
2
3
4
|
> sh.setBalancerState(
true
) 或
> sh.startBalancer() 或
>
use
config
> db.settings.update( { _id:
"balancer"
}, { $
set
: { stopped:
false
} } ,
true
);
|