美文网首页
【mongoDB】mongoDB dump/restore数据导

【mongoDB】mongoDB dump/restore数据导

作者: Bogon | 来源:发表于2021-11-21 00:05 被阅读0次

    MongoDB官方提供了两套数据导入导出工具:

    一般来说,进行整库导出导入时使用mongodump和mongorestore,这一对组合操作的数据是BSON格式,进行大量dump和restore时效率较高。

    进行单个集合导出导入时使用mongoexport和mongoimport,这一对组合操作的数据是JSON格式,可读性较高。

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

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

    mongodump 仅备份数据库中的文档,不备份索引,索引信息会单独导出,所以我们还原后,需要重新生成索引。

    mongodump是一个用于导出二进制数据库内容的实用工具,它导出的bson文档中只会包含着集合文档等信息,不包括索引信息(索引信息会单独导出),所以还原后,索引必须重建(这个不用担心,使用mongorestore会自动重建mongodump生成的索引信息)。

    mongodump从 MongoDB 数据库(BSON 格式)创建数据的二进制导出。
    索引定义备份在 <dbname>.metadata.json 中文件,所以 mongorestore可以重新创建原始数据和索引。

    实际索引不能用mongodump备份的主要原因有两个 :

    索引指向数据文件中的位置。如果您仅导出数据文件中的文档(而不是获取数据文件的完整文件副本),则数据文件不存在。
    磁盘上的索引格式是存储引擎特定的,而 mongodump旨在独立于存储引擎。

    如果您想对数据和索引进行完整备份,则需要 backup by copying the underlying data files (通常通过使用文件系统或 EBS 快照)。这是大型部署的更常见选项,如 mongodump需要将所有数据读入 mongod进程(如果您的数据库大于内存,它将驱逐您的一些工作集)。

    image.png

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

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

    image.png

    参考

    MongoDB 逻辑备份工具mongodump
    https://www.cnblogs.com/dbabd/p/13139556.html

    MongoDB备份工具mongodump的使用
    https://www.cnblogs.com/yaoxing/p/mongodb-backup-rules.html

    MongoDB 用户角色、CRUD和逻辑备份还原
    https://www.cnblogs.com/dbabd/tag/MongoDB/

    从独立到副本集的mongorestore
    https://www.it1352.com/1636979.html

    MongoDB数据库的备份、还原、导入及导出
    https://java.isture.com/db/mongodb/operation/MongoDB%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9A%84%E5%A4%87%E4%BB%BD%E8%BF%98%E5%8E%9F%E5%AF%BC%E5%85%A5%E5%8F%8A%E5%AF%BC%E5%87%BA.html#mongodb数据库的备份、还原、导入及导出

    mongoDB 备份 还原 导出 导入
    http://blog.51yip.com/nosql/1573.html

    mongodb - 为什么mongodump不备份索引?
    https://www.coder.work/article/37860
    https://stackoverflow.com/questions/36854566/why-mongodump-does-not-backup-indexes

    MongoDB 备份与还原 mongodump、mongorestore
    https://www.cnblogs.com/operationhome/p/10724374.html

    MongoDB备份(mongodump)与恢复(mongorestore)工具实践
    https://zhuanlan.zhihu.com/p/344790069

    相关文章

      网友评论

          本文标题:【mongoDB】mongoDB dump/restore数据导

          本文链接:https://www.haomeiwen.com/subject/drfptrtx.html