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/
MongoDB 备份方法的更多相关文章
- mongodb 备份
本篇文章来自于阿里云技术专家郑涔(明俨)在2018年<Redis.MongoDB.HBase大咖直播大讲堂>技术直播峰会中的分享,该分享整体由四个部分构成: 1.MongoDB备份恢复 2 ...
- mongodb 备份 还原 导出 导入
张映 发表于 2013-12-03 分类目录: nosql 标签:mongodb, 备份, 导入, 导出, 还原 mongodb数据备份和还原主要分为二种,一种是针对于库的mongodump和mong ...
- Oracle数据库的备份方法
1.引言 Oracle数据库的备份方法很多,无论使用那种备份方法,备份的目的都是为了在出现故障后能够以尽可能小的时间和代价恢复系统.比如使用export实用程序导出数据库对象.使用Oracle备份数据 ...
- MongoDB 备份(mongodump)恢复(mongorerstore) 导出 (Mongoexport) 导入( Mongoimport)
MongoDB 备份(mongodump) 在Mongodb中我们使用mongodump命令来备份MongoDB数据.该命令可以导出所有数据到指定目录中. mongodump命令可以通过参数指定导出的 ...
- postfix 邮件备份方法
postfix 邮件备份方法: postfix的bcc(密送)功能可以根据条件,将所有经过postfix队列的邮件根据规则密送到指定的邮箱. postfix带有三个bcc参数: ①.always_bc ...
- Linux服务器的常用备份方法
系统备份是系统管理工作中十分重要的一个环切,本文详细介绍了各种Linux系统的备份方法,相信对大家的日常管理工作有所帮助. 备份是一项重要的工作,但是很多人没有去做.一旦由于使用不当造成数据丢失,备份 ...
- 最简便的MySql数据库备份方法
http://www.kankanews.com/ICkengine/archives/194.shtml 使用MYSQL进行数据库备份,又很正规的数据库备份方法,同其他的数据库服务器有相同的概念,但 ...
- 7.2 Database Backup Methods 数据备份方法:
7.2 Database Backup Methods 数据备份方法: 本节总结了一些常用的备份方法: 使用MySQL Enterprise Backup 进行Hot Backup MySQL Ent ...
- SQL Server数据库备份方法
数据库备份,是在数据丢失的情况下,能及时恢复重要数据,防止数据丢失的一种重要手段.一个合理的数据库备份方案,应该能够在数据丢失时,有效地恢复重要数据,同时需要考虑技术实现难度和有效地利用资源. 数据库 ...
随机推荐
- docker 中运行 redis 服务
先使用 dockerfile 创建一个 redis 容器 FROM ubuntu:latest RUN apt-get update RUN apt-get -y install redis-serv ...
- C#.net 获取当前应用程序所在路径及环境变量
一.获取当前文件的路径 string str1=Process.GetCurrentProcess().MainModule.FileName;//可获得当前执行的exe的文件名. string st ...
- Mispelling4
Problem Description Misspelling is an art form that students seem to excel at. Write a program that ...
- redis存储对象,实体类新加字段空指针问题处理
redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorted set ...
- JAVA中的deflate压缩实现
在文件的传输过程中,为了使大文件能够更加方便快速的传输,一般采用压缩的办法来对文件压缩后再传输,JAVA中的java.util.zip包中的Deflater和Inflater类为使用者提供了DEFLA ...
- 控制HTML元素的显示与隐藏——display和visibility
有些时候我们需要根据某些条件来控制Web页面中的HTML元素显示还是隐藏,可以通过display或visibility来实现.通过下面的例子了解display和visibility的区别,简单的例子代 ...
- 使用aop记录数据库操作的执行时间
在项目中,我们往往需要记录数据库操作的时间,根据操作时间的不同,分别记录不同等级的日志. 首先我们可以写一个类实现MethodInterceptor接口: import org.aopalliance ...
- itunes connect提交app教程
.打开itunes connect登陆之后,选择Manage Your Apps,再选Add New App: .填写项目相关信息,不知道怎么填的点击问号查看: Bundle ID Suffix需要和 ...
- CentOS 7 minimal 版本安装后网络配置
本博文主要为你讲解如何再CentOS 7中启用网络. 1.首先使用root登录服务器,输入 nmcli d 我们发现网卡是处于禁用状态. 2.打开网络管理器界面,再终端输入 nmtui 打开界面如上, ...
- hihocoder 1082 然而沼跃鱼早就看穿了一切(字符串替换)
时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 fjxmlhx每天都在被沼跃鱼刷屏,因此他急切的找到了你希望你写一个程序屏蔽所有句子中的沼跃鱼(“marshtomp”,不区 ...