数据备份及恢复(mongodump/mongorestore)
说明
1.mongodump创建高保真的BSON文件,mongorestore可以用其恢复数据库。对于小型数据库的备份和恢复,这两个工具非常简单和高效,但对于大型数据库的备份并不理想。
2.mongodump/mongorestore可以直接对正在运行的mongodb执行操作。
3.默认情况下,mongodump不会捕获本地数据库的内容,而只是捕获其中的document,所以占用空间较小(我试过了,占用空间也不少,原空间占用17G,备份完了37G)。不过,这也导致mongorestore恢复数据时,需要重建索引。
4.mongodump执行过程中会影响mongodb的性能。另外,即使执行结束后的一段时间性能依然会受到影响,因为读取冷数据时,会把热数据从缓存中挤出去了。
5.如果数据大于系统内存,那么查询将会导致内存溢出,从而导致page faults。不过我测试时,待备份数据17G,机器内存8G,并没有出现错误。
6.如果输出文件夹中有文件,mongodump会覆盖。
--oplog
mongodump使用--oplog选项,捕获备份过程中的修改,以保障备份数据的一致性。但这个需要另外配置,涉及复制功能。本文档未使用此选项。相对应的,如果备份时使用--oplog,那么恢复数据时使用--oplogReplay选项。
--host/--port
可以使用--host/--port指定要备份的实例。用这两个选项可以进行远程备份。
--db/--collection
指定备份的数据和集合。
--out
mongodump使用此选项,指定备份的数据写到哪个路径。如果不指定,默认写在当前工作目录的dump/路径下。
--objcheck
插入数据时,检查完整性。
--drop
在恢复数据之前,删除之前的集合。
操作步骤
1.执行备份命令,将备份数据写入到/home/dump/文件夹下。如下各命令使用的用户“root”是超级用户,其角色为内置角色root。
mongodump --username "root" --password "xxxxxx" --out /home/dump/
如果出现如下内容,则表示备份完成:

备份的数据包含288万多条document,数据库大小16G多,耗时14分钟左右。
2.执行恢复命令。
mongorestore --username "root" --password "xxxxxx" /home/dump/
如果出现如下内容,则表示恢复完成:

数据恢复总共耗时17分钟左右。其中数据恢复完成后,重建索引花费了5分钟的时间。
数据备份及恢复(mongodump/mongorestore)的更多相关文章
- redis入门(15)redis的数据备份和恢复
redis入门(15)redis的数据备份和恢复
- Salesforce 数据备份和恢复小知识
数据备份的类型 在Salesforce中可以使用多种API进行数据备份,它们是: REST API SOAP API Buik API Metadata API 数据备份有三种选择: 完全备份(Ful ...
- innobackupex不停库的数据备份并恢复到别的服务器上【转】
1.innobackupex原理: 备份原理 1).首先会开启一个后台检测进程,实时检测myql redo的变化,一旦发现redo中有新日志写入,立即将日志记入后台日志文件xtrabackup_log ...
- InfluxDB数据备份和恢复方法,支持本地和远程备份
本文属于<InfluxDB系列教程>文章系列,该系列共包括以下 17 部分: InfluxDB学习之InfluxDB的基本概念 InfluxDB学习之InfluxDB的基本操作 Influ ...
- tableau server 数据备份及恢复
tableau server 数据备份及恢复 一.数据备份 1> win+r,进入到dos命令行模式 2> 进入到tableau server的bin路径下 cd C:\Program F ...
- MongoDB 数据备份和恢复 --- MongoDB基础用法(七)
数据备份 在Mongodb中我们使用mongodump命令来备份MongoDB数据.该命令可以导出所有数据到指定目录中. mongodump命令可以通过参数指定导出的数据量级转存的服务器. mongo ...
- NoSQL 数据库案例实战 -- MongoDB数据备份、恢复
MySQL数据迁移到MongoDB数据库中 前言 一.数据备份 二.数据恢复 前言 本环境是基于 Centos 7.8 系统构建mongodb-enterprise-4.2.8学习环境具体构建,请参考 ...
- MySQL数据库的数据备份和恢复(导入和导出)命令操作语法【转】
不管是Oracle数据库还是SQL Server数据库,每个数据库都有自己的一套数据备份和恢复的方法,MySQL数据库也不例外.MySQL数据库备份和恢复用到了两个命令,分别是“mysqldump”和 ...
- HBase数据备份及恢复(导入导出)的常用方法
一.说明 随着HBase在重要的商业系统中应用的大量增加,许多企业需要通过对它们的HBase集群建立健壮的备份和故障恢复机制来保证它们的企业(数据)资产.备份Hbase时的难点是其待备份的数据集可能非 ...
随机推荐
- 编写高质量代码改善C#程序的157个建议——建议120:为程序集指定强名称
建议120:为程序集指定强名称 虽然强名称在设计之初有防止被未授权的第三方软件非法执行程序的作用,但是因为它的破解方法并不难,所以现在强名称更多的意义在于它可以避免出现“DLL HELL”现象. “D ...
- mysql复制表以及复制数据库
(一)将旧表复制到新表 1.CREATE TABLE新表 SELECT* FROM旧表; 该语句只是复制表结构以及数据,它不会复制与表关联的其他数据库对象,如索引,主键约束,外键约束,触发器等. CR ...
- 洛谷P4174 [NOI2006]最大获利(最大流)
题目描述 新的技术正冲击着手机通讯市场,对于各大运营商来说,这既是机遇,更是挑战.THU 集团旗下的 CS&T 通讯公司在新一代通讯技术血战的前夜,需要做太多的准备工作,仅就站址选择一项,就需 ...
- DRBD 数据镜像软件
1>DRBD介绍 1>数据镜像软件DRBD介绍 分布式块设备复制(Distributed Relicated Block Deivce,DRBD),是一种基于软件.基于网络的块复制存储解 ...
- 基于SSH的记账管理系统设计与实现-JavaWeb项目-有源码
开发工具:Myeclipse/Eclipse + MySQL + Tomcat 项目简介: Java记账管理系统主要用于财务人员可以从账务中判断公司的发展方向.对个人和家庭而言,通过记账可以制定日后的 ...
- [LeetCode 题解]: Anagrams
Given an array of strings, return all groups of strings that are anagrams. Note: All inputs will be ...
- 升级实体框架EntityFramework6.0
首先安装nuget 管理器 https://visualstudiogallery.msdn.microsoft.com/4ec1526c-4a8c-4a84-b702-b21a8f5293ca 安装 ...
- CSS:如何清除a标签之间的默认留白间距
即使我们使用了类似 *{margin: 0;padding: 0;} 这样的代码重置了浏览器默认样式,也会发现类似<a>标签这种inline-block元素,它们之间也还存在着间距. de ...
- 食物(矩阵快速幂)(DP)
这个题..我们可以想到用递推写!!qwq(好吧,其实我的DP水平不高啊qwq) 就是我们以两个为单位(一共九种组合情况),然后往后面推下一位的情况. 通过手动模拟,我们可以找到它们之间的递推关系(详见 ...
- 判断AVL树是否平衡
AVL树是高度的平衡二插搜索树,其左子树和右子树的高度之差不超过1(树中的左子树和右子树都是AVL树),维持这个高度之差就要控制它的平衡因子.那么判断一颗AVL树是否平衡就需要判断它的左子树和右子树高 ...