zoukankan      html  css  js  c++  java
  • MongoDB 备份方法

    翻译自 http://docs.mongodb.org/manual/core/backups/

    有以下几种方法来备份MongoDB群集:

    • 通过复制底层数据文件来备份
    • 通过mongodump来备份
    • 通过MMS (MMS:MongoDB Management Service)云备份
    • 通过MMS On Prem 备份软件备份

     1. 通过复制底层数据文件来备份

      如果存储设备支持按时间点产生快照(snapshot),你可以用这些快照来创建mongodb的备份。比如Amazon的EBS存储系统支持EC2的快照。在Linux上LVM Manager能够产生快照。

      如果Mongodb正在运行,要得到一个正确的快照的话,MongoDB必须打开日志功能,并且日志文件和mongoDB的数据文件再同一个逻辑卷(logical volume)上。如果不打开日志(journaling)功能,则无法保证得到的快照里的数据的一致性。

      对于分片系统(sharded system), 你必须关闭balancer并且在同一时间获取每个shard和每个config server的snapshot。

      你也可以用cp, rsync或者其它工具去拷贝文件。但是拷贝多个文件不是一个原子型操作,你必须在拷贝之前停止所有写操作,否则的话可能会使拷贝的数据处于不一致的状态。

    2. mongodump

      通过拷贝底层文件不支持复集(replica set)的时点恢复(point in time recovery),并且很难去管理大型的分片群集。另外,这些拷贝很大,因为它们包含了索引以及底层的Padding和碎片。而mongodump则能生成更小的备份。

      mongodump工具从mongodb数据库中读取数据并生成bson文件。mongorestore则能够将这些数据恢复到mongodb数据库。mongodump对小型的数据库是非常有效的工具,对大型的数据库系统则不是很理想。

      mongodump和mongorestore能够在mongod进程运行的时候操作,并且能够操作底层的数据文件。

      mongodump不会备份索引文件,所以恢复数据库后需要重建index。

    用mongodump和mongorestore的具体操作详见 http://docs.mongodb.org/manual/tutorial/backup-with-mongodump/ 

  • 相关阅读:
    HTML5 CANVAS制图 基础总结
    CSS3(transform/transition/animation) 基础 总结
    创建一个js日历(原生JS实现日历)
    别光知道用console.log调试了,快来试试这些高效的调试方法!
    file_get_contents无法获取到https链接内容问题
    element-ui 的 table 组件 row-style不生效 无法设置行高的问题
    Element-ui 解决table设置fixed属性后 el-image组件放大图片样式被覆盖问题
    js实现简单sku变体组合算法
    关于cnpm命令没有反应(并不报错)的处理办法
    2019-8-14
  • 原文地址:https://www.cnblogs.com/AllanDragoon/p/4045872.html
Copyright © 2011-2022 走看看