mongodb备份与还原

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

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  );

猜你喜欢

转载自www.cnblogs.com/ExMan/p/10749396.html