mongodump及mongorestore是用于备份和恢复mongodb数据库的两个命令,位于mongodb安装目录的bin文件夹下。

mongodump导出的备份文件为二进制格式,每一个文档的对应备份文件有两个,文档名.bson和文档名.metadata.json两个文件。

先看一个mongodump的使用示例:

./mongodump -d vodlite3 -o /mibackup/

该命令将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导出的数据,语法格式如下:

mongorestore [options] [directory or filename to restore from]

使用该命令恢复刚才备份的数据:

mongorestore --db vodlite3 --directoryperdb D:\vodlite3

可用选项如下:

–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备份及恢复数据的更多相关文章

  1. mysql学习(4)-mysqldump备份和恢复数据

    背景 最近在公司做数据迁移方面的工作,使用mysql数据库在测试环境模拟数据迁移,在迁移测试的过程中需要做数据备份和恢复 mysql数据备份和恢复比较简单,可以选择mysqldump工具,这里简单提一 ...

  2. MySql在生产环境中是用mysqldump还是xtrabackup备份和恢复数据

    如题,究竟该使用mysqldump还是xtrabackup,要说用,两个都能备份,都支持热备,但是生产环境我们要考虑的是效率,就是不管备份还是恢复,都要快,要稳定. 之前我在维护mysql数据库的时候 ...

  3. postgresql批量备份和恢复数据表

    备份数据库:pg_dump -h localhost -U root demo02 > /home/arno/dumps/demo02.bak 恢复数据库:psql -h localhost - ...

  4. PostgreSQL备份和恢复数据表

    备份数据表: pg_dump -U user_name db_name -t table_name -f /tmp/backup_file.suffix 恢复数据表: 方法1: 登录数据库:\i /t ...

  5. MySQL 备份和恢复数据

    备份指定数据库的全部表或指定表 mysqldump -u user -h localhost -p [password] db_name[ tbl_name[,tbl_name.......]]> ...

  6. xtrbackup备份,及恢复数据

    模拟定时任务周日备份数据,周一数据变化,周一crontab定时任务增量备份,周二数据变化,周二crontabl增量备份,然后有人删库,我们进行恢复数据 模拟crontab 里的定时任务周日全备 [ro ...

  7. mysql导入导出数据,备份,恢复数据

    MYSQL 实现导入数据 .备份和恢复数据库 1.使用msql命令导入数据 # mysql -uroot -p 需要选择一个数据库 < runoob.sql #mysql -u username ...

  8. xtrabackup备份和恢复数据脚本

    该脚本用于备份和恢复MySQL数据库. 总结xtrabackup备份的两个坑: 1.在恢复数据的过程中,如果中途出错,则数据将会被破坏,后续很难再恢复. 2.在恢复过程中,如果版本过低,在准备全量数据 ...

  9. Confluence 6 从其他备份中恢复数据

    一般来说,Confluence 数据库可以从 Administration Console 或者 Confluence Setup Wizard 中进行恢复. 如果你在恢复压缩的 XML 备份的时候遇 ...

随机推荐

  1. DDD Quickly - 读书笔记

    读后感:关于领域驱动设计,过去多多少少用到一些.所以,这本精简版看起来很快,很多概念很熟悉,它帮助我把散乱的知识串起来.最后,Eric Evans谈到一点,本来软件的发展是向着处理复杂的业务逻辑走的, ...

  2. 【PyQt5 学习记录】008:改变窗口样式之二

    super(MainWindow, self).__init__(parent, flags=Qt.Widget) 首先需要关闭窗口的默认样式,以方便定时想要的样式: self.setWindowFl ...

  3. Csv读写类

    <?php /** * CSV 文件读写类 * * 示例: $header = array('name' => '名字', 'age' =>'年龄', 'idcard' => ...

  4. css类选择器类名覆盖优先级

    code <style> .a{ background: red; } .b{ background: yellow; } </style> <div class=&qu ...

  5. Teamviewer 手机端怎么拖动窗口,选中文字

    Teamviewer 手机端怎么拖动窗口,选中文字 Teamviewer 手机端拖动窗口,选中文字和触摸板的使用方式是一样的 点两下不松开就可以拖动 点两下不松开也可以选中文字 Teamviewer ...

  6. 如何使用 adb 命令实现自动化测试

    如何使用 adb 命令实现自动化测试 一.前提: 1.打开手机调试模式,确保手机已正常连接电脑,可在电脑上通过adb devices命令查看,结果如下说明连接成功: List of devices a ...

  7. 深入理解net core中的依赖注入、Singleton、Scoped、Transient(三)

    相关文章: 深入理解net core中的依赖注入.Singleton.Scoped.Transient(一) 深入理解net core中的依赖注入.Singleton.Scoped.Transient ...

  8. Ad-hoc 查询以及动态SQL的罪恶[译]

    本文为翻译文章,原文地址:https://www.simple-talk.com/blogs/2009/08/03/stolen-pages-ad-hoc-queries-and-the-sins-o ...

  9. Eclipse 控制台视图和服务器视图中停止Web服务器的差别

    Eclipse 控制台视图和服务器视图中停止Web服务器的差别 (1)console视图里面, "红色方形图标" 是terminate, 也会关闭web服务器!!!!!!!!这个, ...

  10. UITableView中cell点击的绚丽动画效果

    UITableView中cell点击的绚丽动画效果 本人视频教程系类   iOS中CALayer的使用 效果图: 源码: YouXianMingCell.h 与 YouXianMingCell.m / ...