zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    圣诞放长假了
    设计模式Top10排行榜
    成长的烦恼
    小三的故事发家篇
    《家庭财务总管》升级(1.0.0.2)
    紧急项目处理方法
    隐身大法,使民无知
    如何维护自己文章的版权
    在深度学习的视觉VISION领域数据预处理的魔法常数magic constant、黄金数值: mean=[0.485, 0.456, 0.406],std=[0.229, 0.224, 0.225]
    ImageNet数据集下载
  • 原文地址:https://www.cnblogs.com/ExMan/p/10749396.html
Copyright © 2011-2022 走看看