• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    MongoDB使用自带的命令行工具进行备份和恢复的教程

    要备份一个数据库,

    mongorestore -d db /path/to/back_up
    

    例如:

    mongodump -d bookstore -o /data01/db_backup/
    

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

    mongorestore -d bookstore /data01/db_backup/bookstore
    

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

    mongodump -d bookstore -c statistics -o /data01/db_backup/
    

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

    mongorestore -d bookstore -c statistics /data01/db_backup/bookstore/statistics.bson
    

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

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

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

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

    注意事项
    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()"
    

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

    db.fsyncLock()
    

    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的结果重新创造。

    您可能感兴趣的文章:
    • Ubuntu下安装PHP的mongodb扩展操作命令
    • MongoDB常用操作命令大全
    • MongoDB常用数据库命令大全
    • mongodb基本命令实例小结
    • MongoDB Shell 命令实例总结【进阶篇】
    • MongoDB使用mongoexport和mongoimport命令,批量导出和导入JSON数据到同一张表的实例
    • MongoDB基础命令以及操作示例详解
    • mongodb监控工具mongostat的使用及命令详解
    • Mongodb 启动命令mongod参数说明(中文翻译)
    • MongoDB数据库常用的10条操作命令
    上一篇:Windows或Linux系统中备份和恢复MongoDB数据的教程
    下一篇:详解清除MongoDB所占用的多余的磁盘空间的方法
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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