• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >MongoDB > MongoDB使用自带的命令行工具进行备份和恢复的教程

MongoDB使用自带的命令行工具进行备份和恢复的教程

作者:Hunk Shi 字体:[增加 减小] 来源:互联网 时间:2017-05-11

Hunk Shi通过本文主要向大家介绍了mongodb命令行,mongodb命令行操作,命令行启动mongodb,mongodb命令,mongodb启动命令等相关知识,希望本文的分享对您有所帮助

要备份一个数据库,

mongorestore -d db /path/to/back_up
</div>

例如:

mongodump -d bookstore -o /data01/db_backup/
</div>

该命令会dump出该DB所有的collection
从备份文件夹恢复数据

mongorestore -d bookstore /data01/db_backup/bookstore
</div>

只备份或回复指定的collection
以bookstore DB 中statistics 表为例

mongodump -d bookstore -c statistics -o /data01/db_backup/
</div>

然后restore时指定该collection对应的bson文件

mongorestore -d bookstore -c statistics /data01/db_backup/bookstore/statistics.bson
</div>

通过条件查询dump
还可以通过一个query来dump中一个collection中符合条件的某些记录, 例如

mongodump -d bookstore -c novel_sources -q "{\"tag\": \"tag_11\"}" -o /data01/db_backup/
</div>

要注意的是如果query中有$符号,需要转义,例如

mongodump -d qunimei -c collection_name -q "{\"date\": {\"\$gte\": \"2015-03-25\"}}" -o /path/to/dump
</div>

注意事项
mongorestore并不会覆盖已有的记录,而是重复添加(如果可以的话)。
当数据量很大的时候,该方法耗时很大。
直接备份数据文件

mongo 127.0.0.1:27017/db_to_back --eval "db.fsyncLock()"
rsync -avh --delete /path/to/your/mongofile /path/to/backup/folder/
mongo 127.0.0.1:21001/turbo --eval "db.fsyncUnlock()"
</div>

关键是第一行和第三行的两个命令,对于db.fsyncLock(),mongodb的文档说明

db.fsyncLock()
</div>

Forces the mongod to flush all pending write operations to the disk and locks the entire mongod instance to prevent additional writes until the user releases the lock with the db.fsyncUnlock() command. db.fsyncLock() is an administrative command.
将mongod 未完成的写操作写入数据文件并阻止新的写入操作,知道运行db.fsyncUnlock()命令,因此拷贝数据文件前后要执行这两个命令。

与其他备份恢复工具的对比

mongodb自带的备份工具还有bsondump、mongoexport,恢复工具还有mongoimport ,几者之间的具体区别是:

bsondump、mongoexport、mongodump备份工具的对比:

1、bsondump可以指定备份的格式为json和debug模式,这个命令虽然附带,但很少用到 ;

2、mongoexport 可以导出json或csv格式的文件,可以指定查询过滤器或指定输出的域,不过此工具导出的json,csv可能对某些数据类型不兼容,因此可能不能全部数据导出,mongodump就可以全部兼容 ;

3、mongodump支持过滤 ,而且在导出速度和压缩率方面mongodump是最快最好的 。所以,若无csv或debug等特殊格式的备份需求,一般都使用 mongodump 作为备份工具 。

mongorestore与mongoimport 恢复工具的对比:

1、 mongoimport 可以接受json,csv,tsv格式的文件,每行为一个对象 。同mongoexport一样,其在恢复过程中同样存在兼容性的问题,所以有恢复不完整的概率 ;

2、mongorestore,速度较慢,比mongoimport慢2.5倍左右,但是根据mongodump导出的数据,可以完整导入数据。在restore过程中,索引根据之前dump的结果重新创造。

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • MongoDB使用自带的命令行工具进行备份和恢复的教程
  • MongoDB最基本命令速查笔记
  • 详解MongoDB管理命令
  • MongoDB 常用命令总结
  • MongoDB教程之基本管理命令
  • Mongodb启动命令参数中文说明
  • MongoDB常用操作命令大全

相关文章

  • 2017-05-11PHP MongoDB GridFS 存储文件的方法详解
  • 2017-05-11详解MongoDB中用sharding将副本集分配至服务器集群的方法
  • 2017-05-11MongoDB运行日志实现自动分割的方法实例
  • 2017-05-11MongoDB中的一些坑(最好不要用)
  • 2017-05-11MongoDB 学习笔记
  • 2017-05-11浅析Mongodb性能优化的相关问题
  • 2017-05-11MongoDB加入到Windows服务的方法
  • 2017-05-11Windows下mongodb安装与配置三步走
  • 2017-05-111亿条记录的MongoDB数据库随机查询性能测试
  • 2017-05-11MongoDB最基本命令速查笔记

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • Mongodb聚合函数count、distinct、group如何实现数据聚合操作
    • MongoDB 导出导入备份恢复数据详解及实例
    • 详解mongodb 主从配置
    • MongoDB最基本命令速查笔记
    • 解决mongodb在ubuntu下启动失败,提示couldn‘t remove fs lock errno:9 Bad file descriptor的错误
    • MongoDB在不同主机间复制数据库和集合的教程
    • MongoDB的基本安装与管理命令脚本总结
    • Mongo集群搭建
    • mongodb 添加用户及权限设置详解
    • 深入分析Mongodb数据的导入导出

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有