linuxsir首页 LinuxSir.Org | Linux、BSD、Solaris、Unix | 开源传万世,因有我参与欢迎您!
网站首页 | 设为首页 | 加入收藏
您所在的位置:主页 > Linux数据库 >

MongoDB 备份与还原 mongodump、mongorestore

时间:2019-05-13  来源:未知  作者:admin666
mongodump 系统快照(这里不做详细介绍,具体内容见官网:Back Up with Filesystem Snapshots) cp 或者 rsync 1、mongodump

?mongodump 是 MongoDB 官方提供的备份工具,它可以从 MongoDB 数据库读取数据,并生成 BSON 文件,mongodump 适合用于备份和恢复数据量较小的 MongoDB 数据库,不适用于大数据量备份。

? 默认情况下 mongodump 不获取 local 数据库里面的内容。

? mongodump 仅备份数据库中的文档,不备份索引,所以我们还原后,需要重新生成索引。

? mongodump 备份过程中会对 mongod 服务的性能产生影响,我们建议在业务低峰期进行操作。如果我们备份的数据,大于系统内存,我们备份的时候容易出现错误。

在执行 mongodump 的时候,mongod 服务还是可以提供服务的,可以进行修改数据,如果我们在备份的时候加上参数 --oplog 的话,那么 oplog 是会记录这一次操作的,如果我们想在 restore 的时候也有日志记录,我们可以使用 mongorestore --oplogReplay 进行恢复

1.1、mongodump常用命令和参数

官方文档:mongodump

mongodump 默认输出的目录名为 dump ,如果输出路径包含 dump 目录,会直接覆盖的。 默认备份是没有压缩的。

参数:

--host hostname :port , -h hostname :port # 指定备份的主机ip和端口号,默认值localhost:27017
--port # 指定端口号 默认27017
--username username , -u username # 指定用户名
--password password , -p password # 指定密码
--authenticationDatabase dbname # 指定认证的数据库
--authenticationMechanism name # 指定认证的算法 ,默认值 SCRAM-SHA-1
--db database , -d database # 指定备份的数据库,未指定的话,备份所有的数据库,但不包含local库
--collection collection , -c collection # 指定备份的集合,未指定则备份指定库中的所有集合。
--query json , -q json # 指定 json 作为查询条件。来备份我们过滤后的数据。
--queryFile path # 指定 json 文档路径,以该文档的内容作为查询条件,来备份我们过滤后的数据。
--quit # 通过抑制 MongoDB的复制,连接等活动,来实现备份。
--gzip # 开启压缩,3.2版本后可以使用,输出为文件的话会带有后缀.gz
--out path , -o path # 输出的目录路径
--repir # 修复数据时使用 下面有详细介绍
--oplog # mongodump 会将 mongodump 执行期间的 oplog 日志 输出到文件 oplog.bson,这就意味着从备份开始到备份结束的数据操作我们都可以记录下来。
--archive file # 输出到单个存档文件或者是直接输出。

        
友情链接
  • Linux Lite用户第一个尝试Linux Kernel 5.1,以下是如何安装它
  • Ubuntu 18.04 Linux上安装Etherpad,基于Web的实时协作编辑器
  • Kakoune - 受 Vim 启发的代码编辑器
  • Slimbook - Ubuntu的电池优化工具
  • 如何在Linux中创建磁盘分区
  • Oracle 经典面试题分享
  • 如何使用Vi/Vim编辑器删除文件中的所有文本
  • Vis - 类似Vim的文本编辑器
  • MySQL 正则表达式详解
  • 关于 Linux系统用户、组和权限管理
  • Rust更换Crates源为国内中科大镜像源
  • MySQL数据库优化
  • 命令行中的 vi 模式
  • AMP - 受Vi/Vim启发的Linux终端文本编辑器
  • MySQL查询表与表字段的信息
  • Ubuntu 18.04源码安装caffe步骤
  • 一份比较全的 VS Code 快捷键
  • MySQL 中的日期时间类型
  • Ubuntu 18.04源码编译安装OpenCV 4.0步骤
  • VMware虚拟机下Ubuntu Cheese黑屏问题解决方法
  • Oracle 分页查询与数据去重实例
  • Aria2 - 适用于Linux的多协议命令行下载工具
  • Ubuntu 18.04.2下编译安装OpenCV 3.4.0 过程
  • Oracle中order by造成分页错误
  • 如何在Ubuntu 18.04/16.04/Linux中安装FreeCAD 0.18
  • git clone速度太慢的解决办法(亲测还有效)
  • Hive0.13.1介绍及安装部署
  • 从命令行关闭Linux计算机的5种方法
  • 简单测试latch nowilling等待模式案例
  • Python面向对象之私有属性和方法
  • TypeScript 中的方法重载
  • Python面向对象之类属性类方法静态方法
  • TypeScript 中非代码模块的导入
  • Python面向对象之单例模式
  • 理解 KMP 算法
  • Python3使用TCP编写一个简易的文件下载器
  • 一道C语言面试题:大整数乘法
  • Python Numpy 数组的基本操作示例
  • Python中模块互相调用的例子
  • Python多进程编程详解
  • Python实现全排列算法
  • Python函数search()和match()的区别
  • 使用Python的matplotlib绘制广义mandelbrot集
  • 如何使用Python删除一个文件或文件夹
  • 使用Python的matplotlib绘制lozi混沌映射吸引子
  • 双色球走势图500期图
  • 福彩3d预测分析
  • 金沙中文
  • 一肖彩经
  • 赌大小
  • 855a网页游戏