使用mongodump及mongorestore备份及恢复数据
mongodump及mongorestore是用于备份和恢复mongodb数据库的两个命令,位于mongodb安装目录的bin文件夹下。
mongodump导出的备份文件为二进制格式,每一个文档的对应备份文件有两个,文档名.bson和文档名.metadata.json两个文件。
先看一个mongodump的使用示例:
该命令将vodlite3数据库备份到/mibackup/目录下。我们查看mibackup目录可以看到备份结构如下:

mongodump可用选项如下:
–help
查看帮助信息。
-v [ --verbose ]
显示更多调试信息。
–version
显示该命令版本。
-h [ --host ] arg
mongodb数据库所在主机IP地址。
–port arg
mongodb启动时所使用的端口。也可以使用 –host:port格式直接指定主机和端口。
–ipv6
是否支持ipv6 。
-u [ --username ] arg
指定登陆用户名。
-p [ --password ] arg
指定登陆密码。
–dbpath arg
越过mongod服务器,直接访问给定路径的mongod数据库文件。使用该参数需要锁定给定的数据目录,所以需要先关闭使用该目录的mongod服务。
–directoryperdb
如果指定了dbpath目录,那么每个db都会给保存到一个单独的文件夹中。
–journal
enable journaling
-d [ --db ] arg
准备备份的数据库。
-c [ --collection ] arg
准备备份的集合。
-o [ --out ] arg
导出数据将要保存在的目录,如参数为“-”,则直接在控制台显示。
-q [ --query ] arg
json query
–oplog
Use oplog for point-in-time snapshotting
–repair
尝试修复损坏的数据库。
–forceTableScan
强制表扫描。
mongorestore用来恢复mongodump导出的数据,语法格式如下:
使用该命令恢复刚才备份的数据:
可用选项如下:
–help
produce help message
-v [ --verbose ]
be more verbose (include multiple times for more verbosity e.g. -vvvvv)
–version
print the program’s version and exit
-h [ --host ] arg
mongo host to connect to ( /s1,s2 for sets)
–port arg
server port. Can also use –host hostname:port
–ipv6
enable IPv6 support (disabled by default)
-u [ --username ] arg
username
-p [ --password ] arg
password
–dbpath arg
directly access mongod database files in the given path, instead of connecting to a mongod server – needs to lock the data directory, so cannot be used if a mongod is currently accessing the same path
–directoryperdb
if dbpath specified, each db is in a separate directory
–journal
enable journaling
-d [ --db ] arg
database to use
-c [ --collection ] arg
collection to use (some commands)
–objcheck
validate object before inserting
–filter arg
filter to apply before inserting
–drop
drop each collection before import
–oplogReplay
replay oplog for point-in-time restore
–keepIndexVersion
don’t upgrade indexes to newest version
参考链接:
1、mongodump的官方帮助文档
2、mongodbde备份及恢复策略
使用mongodump及mongorestore备份及恢复数据的更多相关文章
- mysql学习(4)-mysqldump备份和恢复数据
背景 最近在公司做数据迁移方面的工作,使用mysql数据库在测试环境模拟数据迁移,在迁移测试的过程中需要做数据备份和恢复 mysql数据备份和恢复比较简单,可以选择mysqldump工具,这里简单提一 ...
- MySql在生产环境中是用mysqldump还是xtrabackup备份和恢复数据
如题,究竟该使用mysqldump还是xtrabackup,要说用,两个都能备份,都支持热备,但是生产环境我们要考虑的是效率,就是不管备份还是恢复,都要快,要稳定. 之前我在维护mysql数据库的时候 ...
- postgresql批量备份和恢复数据表
备份数据库:pg_dump -h localhost -U root demo02 > /home/arno/dumps/demo02.bak 恢复数据库:psql -h localhost - ...
- PostgreSQL备份和恢复数据表
备份数据表: pg_dump -U user_name db_name -t table_name -f /tmp/backup_file.suffix 恢复数据表: 方法1: 登录数据库:\i /t ...
- MySQL 备份和恢复数据
备份指定数据库的全部表或指定表 mysqldump -u user -h localhost -p [password] db_name[ tbl_name[,tbl_name.......]]> ...
- xtrbackup备份,及恢复数据
模拟定时任务周日备份数据,周一数据变化,周一crontab定时任务增量备份,周二数据变化,周二crontabl增量备份,然后有人删库,我们进行恢复数据 模拟crontab 里的定时任务周日全备 [ro ...
- mysql导入导出数据,备份,恢复数据
MYSQL 实现导入数据 .备份和恢复数据库 1.使用msql命令导入数据 # mysql -uroot -p 需要选择一个数据库 < runoob.sql #mysql -u username ...
- xtrabackup备份和恢复数据脚本
该脚本用于备份和恢复MySQL数据库. 总结xtrabackup备份的两个坑: 1.在恢复数据的过程中,如果中途出错,则数据将会被破坏,后续很难再恢复. 2.在恢复过程中,如果版本过低,在准备全量数据 ...
- Confluence 6 从其他备份中恢复数据
一般来说,Confluence 数据库可以从 Administration Console 或者 Confluence Setup Wizard 中进行恢复. 如果你在恢复压缩的 XML 备份的时候遇 ...
随机推荐
- IntelliJ IDEA 使用经验总结
一. 准备工作 1. 点击此下载 IntelliJ IDEA 开发工具 二. 注册 1. 修改 C:\Windows\System32\drivers\etc\hosts ,在末尾添加 0.0.0 ...
- 在android工程中,res目录下又有anim、drawable、layout、menu、raw、values和xml文件夹,分别用来保存?
res目录主要是存放资源文件的!layout 布局 这个就是你经常看到的与用户交互的界面的 xml 文件,就是各个 view 的排列和嵌套,没什 么好说的啦 风格和主题. 风格主要是指 view 的显 ...
- 类和类的关系——java
类(对象)之间的关系 1.继承关系(子类自动拥有了父类所有的成员变量和普通方法,如果父类的成员变量和普通方法是private 的,那么子类只有拥有权,没有使用权.父类的构造方法在子类的构造方法执行 ...
- Django 开启显示查询语句log
# 下面语句加到setti中 LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'handlers': { 'console': ...
- numpy meshgrid 和 mgrid 的两个简单实例和解析
numpy.meshgrid 和 numpy.mgrid 用于返回包含坐标向量的坐标矩阵. 当坐标矩阵为二维时, 可用于在图像变形时构建网格. 实例一 from __future__ import p ...
- linux 局域网探测工具nmap
NMap,也就是Network Mapper,是Linux下的网络扫描和嗅探工 具包,其基本功能有三个, 一是探测一组主机是否在线: 其次是扫描主机端口,嗅探所提供的网络服务: 还可以推断主机所用的操 ...
- javascript promise编程
在loop中使用promise: https://stackoverflow.com/questions/17217736/while-loop-with-promises
- vs2017 调试时出现 cannot connect to runtime process错误
用Visual Studio 2017 .net core进行开发时 ,调试运行项目时出现如下错误 解决方案,调试>选项,取消勾选,关闭对JavaScript的调试
- CATransform3D的m34使用
CATransform3D的m34使用 效果图 源码 // // ViewController.m // StarWars // // Created by YouXianMing on 15/11/ ...
- 详细透彻解读Git与SVN的区别(集中式VS分布式)
Git是目前世界上最先进的分布式版本控制系统,其实 Git 跟 SVN一样有自己的集中式版本库或服务器,但是Git 更倾向于被使用于分布式模式,也就是每个开发人员从中心版本库/服务器上chect ou ...