翻译自 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/

MongoDB 备份方法的更多相关文章

  1. mongodb 备份

    本篇文章来自于阿里云技术专家郑涔(明俨)在2018年<Redis.MongoDB.HBase大咖直播大讲堂>技术直播峰会中的分享,该分享整体由四个部分构成: 1.MongoDB备份恢复 2 ...

  2. mongodb 备份 还原 导出 导入

    张映 发表于 2013-12-03 分类目录: nosql 标签:mongodb, 备份, 导入, 导出, 还原 mongodb数据备份和还原主要分为二种,一种是针对于库的mongodump和mong ...

  3. Oracle数据库的备份方法

    1.引言 Oracle数据库的备份方法很多,无论使用那种备份方法,备份的目的都是为了在出现故障后能够以尽可能小的时间和代价恢复系统.比如使用export实用程序导出数据库对象.使用Oracle备份数据 ...

  4. MongoDB 备份(mongodump)恢复(mongorerstore) 导出 (Mongoexport) 导入( Mongoimport)

    MongoDB 备份(mongodump) 在Mongodb中我们使用mongodump命令来备份MongoDB数据.该命令可以导出所有数据到指定目录中. mongodump命令可以通过参数指定导出的 ...

  5. postfix 邮件备份方法

    postfix 邮件备份方法: postfix的bcc(密送)功能可以根据条件,将所有经过postfix队列的邮件根据规则密送到指定的邮箱. postfix带有三个bcc参数: ①.always_bc ...

  6. Linux服务器的常用备份方法

    系统备份是系统管理工作中十分重要的一个环切,本文详细介绍了各种Linux系统的备份方法,相信对大家的日常管理工作有所帮助. 备份是一项重要的工作,但是很多人没有去做.一旦由于使用不当造成数据丢失,备份 ...

  7. 最简便的MySql数据库备份方法

    http://www.kankanews.com/ICkengine/archives/194.shtml 使用MYSQL进行数据库备份,又很正规的数据库备份方法,同其他的数据库服务器有相同的概念,但 ...

  8. 7.2 Database Backup Methods 数据备份方法:

    7.2 Database Backup Methods 数据备份方法: 本节总结了一些常用的备份方法: 使用MySQL Enterprise Backup 进行Hot Backup MySQL Ent ...

  9. SQL Server数据库备份方法

    数据库备份,是在数据丢失的情况下,能及时恢复重要数据,防止数据丢失的一种重要手段.一个合理的数据库备份方案,应该能够在数据丢失时,有效地恢复重要数据,同时需要考虑技术实现难度和有效地利用资源. 数据库 ...

随机推荐

  1. 使用异步httpclient框架做get,post提交数据

    1.将异步httpclient框架导入 下载地址:http://download.csdn.net/detail/sinat_32804317/9555641 2.代码实现 public class ...

  2. 懒加载异常:org.hibernate.LazyInitializationException: could not initialize proxy - no Session

    病症:这是一个lazy使用后的Exception,使用迟时加载,在session(hibernate里的session),关闭后使用该对象的未加载变量,也就是说session已经关闭,没有保存到内存中 ...

  3. 对《[Unity官方实例教程 秘密行动] Unity官方教程《秘密行动》(十二) 角色移动》的一些笔记和个人补充,解决角色在地形上移动时穿透问题。

    这里素材全是网上找的. 教程看这里: [Unity官方实例教程 秘密行动] Unity官方教程<秘密行动>(九) 角色初始设定 一.模型设置: 1.首先设置模型的动作无限循环. 不设置的话 ...

  4. Java多线程之锁

    首先是synchronized 关键字 他可以用于声明方法,也可以用于申明代码块.我们看看三个例子: public class SynchronizedDemo1 { public synchroni ...

  5. poj 1698 Alice's Chance 最大流

    题目:给出n部电影的可以在周几拍摄.总天数.期限,问能不能把n部电影接下来. 分析: 对于每部电影连上源点,流量为总天数. 对于每一天建立一个点,连上汇点,流量为为1. 对于每部电影,如果可以在该天拍 ...

  6. web前端开发学习指南(大群主推荐)

    http://www.ituring.com.cn/book/1140 http://www.ituring.com.cn/book/1361

  7. 让TabelView视图中自定义的Toolbar固定(不随cell的移动而移动)

    //在viewDidLoad方法中创建Toolbartoolbar = [[UIView alloc] initWithFrame:CGRectMake(, , , )]; toolbar.backg ...

  8. Charles 应用

    1.首先设置本机host文件,将需要测试的域名指向127.0.0.1:(测试域名没有代理,才会这么操作): 2.打开Charles,设置Proxy选项,取消“Windows Proxy”选中状态: 3 ...

  9. HttpContext 讲解

    HttpContext类:封装有关个别HTTP请求的所有HTTP特定的信息,又叫上下文.看到这个解释,我觉得有些抽象,Http特定信息具体又是什么?看了下备注:为继承 IHttpModule 和 IH ...

  10. Struts2_使用 Filter 作为控制器的 MVC 应用