文章目录

  • 一、MongoDB备份介绍
    • 1.1 备份工具
    • 1.2 备份工具区别
  • 二、备份/恢复mongodump/mongorestore
  • 三、数据导出/导入mongoexport/mongoimport

一、MongoDB备份介绍

1.1 备份工具

  • mongoexport/mongoimport #导入/导出的是JSON格式或者CSV格式
  • mongodump/mongorestore #导入/导出的是BSON格式

1.2 备份工具区别

  • JSON可读性强但体积较大,BSON则是二进制文件,体积小但几乎没有可读性。
  • 在一些mongodb版本之间,BSON格式可能会随版本不同而有所不同,所以不同版本之间用mongodump/mongorestore可能不会成功,具体要看版本之间的兼容性。当无法使用BSON进行跨版本的数据迁移的时候,使用JSON格式即mongoexport/mongoimport是一个可选项。
  • JSON虽然具有较好的跨版本通用性,但其只保留了数据部分,不保留索引,账户等其他基础信息。

二、备份/恢复mongodump/mongorestore

  mongodump能够对Mongodb进行热备份,它的工作原理类似mysqldump,对Mongodb进行查询,然后将所有查到的文档写入磁盘,但是存在的问题是mongodump产生的备份不一定是数据库的实时快照,如果我们在备份时对数据库进行了写入操作,则备份出来的文件可能不完全和Mongodb实时数据相等。另外在备份时可能会对其它客户端性能产生不利的影响。包含索引页

##mongodump/mongorestore
#全备+oplog
[root@zijie mongodbbackup]# mongodump --username=backup --password=970125 --host=127.0.0.1 --port=27017 --authenticationDatabase admin  --oplog --out /data/mongodbbackup/
2021-03-08T10:37:01.486+0800   writing admin.system.users to /data/mongodbbackup/admin/system.users.bson
2021-03-08T10:37:01.487+0800   done dumping admin.system.users (2 documents)
2021-03-08T10:37:01.488+0800   writing admin.system.version to /data/mongodbbackup/admin/system.version.bson
2021-03-08T10:37:01.489+0800   done dumping admin.system.version (2 documents)
2021-03-08T10:37:01.492+0800   writing admin.system.profile to /data/mongodbbackup/admin/system.profile.bson
2021-03-08T10:37:01.496+0800   done dumping admin.system.profile (413 documents)
2021-03-08T10:37:01.496+0800   writing config.system.profile to /data/mongodbbackup/config/system.profile.bson
2021-03-08T10:37:01.497+0800   writing test.t2 to /data/mongodbbackup/test/t2.bson
2021-03-08T10:37:01.498+0800   done dumping test.t2 (2 documents)
2021-03-08T10:37:01.498+0800   writing test.t1 to /data/mongodbbackup/test/t1.bson
2021-03-08T10:37:01.499+0800   writing admin.pbmAgents to /data/mongodbbackup/admin/pbmAgents.bson
2021-03-08T10:37:01.499+0800   done dumping config.system.profile (51 documents)
2021-03-08T10:37:01.500+0800   done dumping admin.pbmAgents (1 document)
2021-03-08T10:37:01.501+0800   done dumping test.t1 (2 documents)
2021-03-08T10:37:01.501+0800   writing admin.pbmLock to /data/mongodbbackup/admin/pbmLock.bson
2021-03-08T10:37:01.501+0800   writing admin.pbmLockOp to /data/mongodbbackup/admin/pbmLockOp.bson
2021-03-08T10:37:01.502+0800   writing admin.pbmPITRChunks to /data/mongodbbackup/admin/pbmPITRChunks.bson
2021-03-08T10:37:01.503+0800   done dumping admin.pbmLock (0 documents)
2021-03-08T10:37:01.503+0800   writing admin.pbmOpLog to /data/mongodbbackup/admin/pbmOpLog.bson
2021-03-08T10:37:01.504+0800   done dumping admin.pbmLockOp (0 documents)
2021-03-08T10:37:01.505+0800   done dumping admin.pbmOpLog (0 documents)
2021-03-08T10:37:01.505+0800   done dumping admin.pbmPITRChunks (0 documents)
2021-03-08T10:37:01.505+0800   writing admin.pbmBackups to /data/mongodbbackup/admin/pbmBackups.bson
2021-03-08T10:37:01.505+0800   writing admin.pbmCmd to /data/mongodbbackup/admin/pbmCmd.bson
2021-03-08T10:37:01.507+0800   done dumping admin.pbmBackups (0 documents)
2021-03-08T10:37:01.507+0800   done dumping admin.pbmCmd (0 documents)
2021-03-08T10:37:01.508+0800   writing admin.pbmLog to /data/mongodbbackup/admin/pbmLog.bson
2021-03-08T10:37:01.509+0800   done dumping admin.pbmLog (47 documents)
2021-03-08T10:37:01.510+0800   writing captured oplog to
2021-03-08T10:37:01.510+0800       dumped 1 oplog entry
[root@zijie mongodbbackup]# ls
admin  config  oplog.bson  test
mongorestore --username=backup --password=970125 --host=127.0.0.1 --port=27017 --authenticationDatabase admin  --oplogReplay /data/mongodbbackup/[root@zijie mongodbbackup]# mongorestore --username=backup --password=970125 --host=127.0.0.1 --port=27017 --authenticationDatabase admin --drop --oplogReplay /data/mongodbbackup/
2021-03-09T00:14:42.099+0800   preparing collections to restore from
2021-03-09T00:14:42.107+0800   reading metadata for admin.pbmLog from /data/mongodbbackup/admin/pbmLog.metadata.json
2021-03-09T00:14:42.110+0800   reading metadata for test.t2 from /data/mongodbbackup/test/t2.metadata.json
2021-03-09T00:14:42.124+0800   restoring admin.pbmLog from /data/mongodbbackup/admin/pbmLog.bson
2021-03-09T00:14:42.129+0800   reading metadata for test.t1 from /data/mongodbbackup/test/t1.metadata.json
2021-03-09T00:14:42.146+0800   restoring test.t2 from /data/mongodbbackup/test/t2.bson
2021-03-09T00:14:42.162+0800   reading metadata for admin.pbmAgents from /data/mongodbbackup/admin/pbmAgents.metadata.json
2021-03-09T00:14:42.182+0800   restoring test.t1 from /data/mongodbbackup/test/t1.bson
2021-03-09T00:14:42.184+0800   no indexes to restore
2021-03-09T00:14:42.184+0800   finished restoring test.t2 (2 documents, 0 failures)
2021-03-09T00:14:42.198+0800   no indexes to restore
2021-03-09T00:14:42.198+0800   finished restoring admin.pbmLog (47 documents, 0 failures)
2021-03-09T00:14:42.200+0800   restoring admin.pbmAgents from /data/mongodbbackup/admin/pbmAgents.bson
2021-03-09T00:14:42.204+0800   no indexes to restore
2021-03-09T00:14:42.204+0800   finished restoring test.t1 (2 documents, 0 failures)
2021-03-09T00:14:42.206+0800   reading metadata for admin.pbmCmd from /data/mongodbbackup/admin/pbmCmd.metadata.json
2021-03-09T00:14:42.206+0800   reading metadata for admin.pbmBackups from /data/mongodbbackup/admin/pbmBackups.metadata.json
2021-03-09T00:14:42.233+0800   restoring admin.pbmBackups from /data/mongodbbackup/admin/pbmBackups.bson
2021-03-09T00:14:42.236+0800   reading metadata for admin.pbmLock from /data/mongodbbackup/admin/pbmLock.metadata.json
2021-03-09T00:14:42.236+0800   no indexes to restore
2021-03-09T00:14:42.236+0800   finished restoring admin.pbmAgents (1 document, 0 failures)
2021-03-09T00:14:42.237+0800   restoring admin.pbmCmd from /data/mongodbbackup/admin/pbmCmd.bson
2021-03-09T00:14:42.248+0800   restoring indexes for collection admin.pbmBackups from metadata
2021-03-09T00:14:42.257+0800   no indexes to restore
2021-03-09T00:14:42.257+0800   finished restoring admin.pbmCmd (0 documents, 0 failures)
2021-03-09T00:14:42.264+0800   restoring admin.pbmLock from /data/mongodbbackup/admin/pbmLock.bson
2021-03-09T00:14:42.284+0800   restoring indexes for collection admin.pbmLock from metadata
2021-03-09T00:14:42.288+0800   finished restoring admin.pbmBackups (0 documents, 0 failures)
2021-03-09T00:14:42.295+0800   finished restoring admin.pbmLock (0 documents, 0 failures)
2021-03-09T00:14:42.295+0800   reading metadata for admin.pbmOpLog from /data/mongodbbackup/admin/pbmOpLog.metadata.json
2021-03-09T00:14:42.295+0800   reading metadata for admin.pbmLockOp from /data/mongodbbackup/admin/pbmLockOp.metadata.json
2021-03-09T00:14:42.324+0800   reading metadata for admin.pbmPITRChunks from /data/mongodbbackup/admin/pbmPITRChunks.metadata.json
2021-03-09T00:14:42.325+0800   restoring admin.pbmLockOp from /data/mongodbbackup/admin/pbmLockOp.bson
2021-03-09T00:14:42.338+0800   restoring admin.pbmOpLog from /data/mongodbbackup/admin/pbmOpLog.bson
2021-03-09T00:14:42.345+0800   restoring indexes for collection admin.pbmLockOp from metadata
2021-03-09T00:14:42.352+0800   restoring indexes for collection admin.pbmOpLog from metadata
2021-03-09T00:14:42.359+0800   restoring admin.pbmPITRChunks from /data/mongodbbackup/admin/pbmPITRChunks.bson
2021-03-09T00:14:42.373+0800   restoring indexes for collection admin.pbmPITRChunks from metadata
2021-03-09T00:14:42.376+0800   finished restoring admin.pbmOpLog (0 documents, 0 failures)
2021-03-09T00:14:42.376+0800   finished restoring admin.pbmLockOp (0 documents, 0 failures)
2021-03-09T00:14:42.391+0800   finished restoring admin.pbmPITRChunks (0 documents, 0 failures)
2021-03-09T00:14:42.391+0800   restoring users from /data/mongodbbackup/admin/system.users.bson
2021-03-09T00:14:42.417+0800   replaying oplog
2021-03-09T00:14:42.417+0800   applied 0 oplog entries
2021-03-09T00:14:42.417+0800   52 document(s) restored successfully. 0 document(s) failed to restore.#备份单个集合(只有全备支持oplog)
[root@zijie mongodbbackup]# mongodump --username=backup --password=970125 --host=127.0.0.1 --port=27017 --authenticationDatabase admin  --db=test --collection=t1 --out /data/mongobackup/
2021-03-09T00:18:58.648+0800   writing test.t1 to /data/mongobackup/test/t1.bson[root@zijie mongodbbackup]# mongorestore --username=backup --password=970125 --host=127.0.0.1 --port=27017 --authenticationDatabase admin --drop --db=test --collection=t1 /data/mongodbbackup/test/t1.bson
2021-03-09T00:21:01.664+0800   checking for collection data in /data/mongodbbackup/test/t1.bson
2021-03-09T00:21:01.667+0800   reading metadata for test.t1 from /data/mongodbbackup/test/t1.metadata.json
2021-03-09T00:21:01.682+0800   restoring test.t1 from /data/mongodbbackup/test/t1.bson
2021-03-09T00:21:01.724+0800   no indexes to restore
2021-03-09T00:21:01.724+0800   finished restoring test.t1 (2 documents, 0 failures)
2021-03-09T00:21:01.724+0800   2 document(s) restored successfully. 0 document(s) failed to restore.

三、数据导出/导入mongoexport/mongoimport

  Mongodb中的mongoexport工具可以把一个collection导出成JSON格式(默认)或CSV格式的文件。mongoimport工具可以把一个特定格式文件中的内容导入到指定的collection中。该工具可以导入JSON格式数据,也可以导入CSV格式数据。不包含索引页
可以通过参数指定导出的数据项,也可以根据指定的条件导出数据。适合如下场景:

(1)版本差异较大
(2)异构平台数据迁移

##mongodb备份恢复##
##mongoexport/mongoimport
#CSV类型必须指定字段,json不需要
[root@zijie mongodbbackup]# mongoexport --username=backup --password=970125 --host=127.0.0.1 --port=27017 --authenticationDatabase admin --type=json --db=test --collection=t1 --out /data/mongodbbackup/t1.json
2021-03-09T10:40:59.906+0800   connected to: mongodb://127.0.0.1:27017/
2021-03-09T10:40:59.910+0800   exported 3 recordsmongoimport --username=backup --password=970125 --host=127.0.0.1 --port=27017 --authenticationDatabase admin --db=test --collection=t1 --file /data/mongodbbackup/t1.json
2021-03-09T10:48:23.316+0800   connected to: mongodb://127.0.0.1:27017/
2021-03-09T10:48:23.340+0800   3 document(s) imported successfully. 0 document(s) failed to import.[root@zijie mongodbbackup]# mongoexport --username=backup --password=970125 --host=127.0.0.1 --port=27017 --authenticationDatabase admin --type=csv -f id --db=test --collection=t1 --out /data/mongodbbackup/t1.csv
2021-03-09T11:01:32.081+0800   connected to: mongodb://127.0.0.1:27017/
2021-03-09T11:01:32.086+0800   exported 3 recordsmongoimport --username=backup --password=970125 --host=127.0.0.1 --port=27017 --authenticationDatabase admin --type=csv --db=test --collection=t1 --headerline --file /data/mongodbbackup/t1.csv
2021-03-09T11:03:01.411+0800   connected to: mongodb://127.0.0.1:27017/
2021-03-09T11:03:01.414+0800   3 document(s) imported successfully. 0 document(s) failed to import.

MongoDB备份恢复—mongodump/mongorestoremongoexport/mongoimport相关推荐

  1. MOngodb备份(mongodump)和恢复(mongorestore)

    MongoDB备份(mongodump)和恢复(mongorestore) 在企业当中会遇到管理数据库,在这里使用mongodb做案例,做一个简单的数据备份和恢复,写的不好还请各位大佬提出建议,在下感 ...

  2. MongoDB 备份恢复

    作者 | JiekeXu 来源 |公众号 JiekeXu DBA之路(ID: JiekeXu_IT) 大家好,我是JiekeXu,很高兴又和大家见面了,今天和大家一起来聊聊MongoDB 备份恢复,欢 ...

  3. MongoDB 备份恢复详细手册

    文章目录 MongoDB 备份恢复 1. 逻辑备份恢复 1. mongoexport备份 1. 常用参数 2. 常用场景 2. mongoimport还原 1. 常用参数 2. 常用场景 3. mon ...

  4. 每期一个小窍门: mongodb 备份/恢复 数据库

    很多时候我们需要迁移mongodb的数据, 下面是一些比较实用的方案 指定数据库的 备份/恢复 指定数据备份 mongodump -h xxx:32017 -d model_10028 -o /hom ...

  5. MongoDB备份/恢复方案

    一.单机备份/恢复 MongoDB的逻辑备份/恢复 1.备份步骤 1)登录单机实例,将数据库锁定 db.fsyncLock() 2)在操作系统通过mongodump备份数据 3)解除锁定 db.fsy ...

  6. mongodb备份恢复数据库

    1.数据库备份还原 [root@ecs-14741540 ~]# mongodump -u testwang -p testwang --authenticationDatabase=testwang ...

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

    数据导出 mongoexport 假设库里有一张apachelog表,里面有2 条记录,我们要将它导出 /test/mongodb/bin/mongo use wxdata switched to d ...

  8. mongodb备份恢复为一个文件

    在使用MongoDB时,我们经常需要进行备份和恢复的操作,使用mongodb自带的mongodump和mongorestore进行操作,备份的时候可以备份到一个文件夹或文件,也可以对文件进行压缩,这里 ...

  9. mongodb备份恢复

    Linux 自动定时备份 MongoDB 本文介绍在 Linux 系统下,使用 mongodump 命令自动定时备份数据库的方法. mongodump mongodump 是 MongoDB 提供的一 ...

最新文章

  1. python 快速行进 算法 图像修补
  2. Exchange 2010 共享邮箱
  3. [置顶] mmog游戏开发之业务篇
  4. hm55主板支持最大内存_内存频率取决于CPU还是主板?内存频率看主板支持还是看CPU支持?...
  5. mysql忘记密麻麻_mysql忘记密码怎么办
  6. vmware配置centos全套
  7. 人工智能 - paddlepaddle飞桨 - 深度学习基础教程 - 语义角色标注
  8. 中国诚信全球垫底?讲讲《Science》现在的论文有多不靠谱
  9. msvcr80.dll 问题
  10. 一个校园互联网实验室的纳新试题(我的服务端开发笔试题)
  11. python floor是什么意思_python里floor怎么用
  12. .NET-9.乱七八糟的理论笔记(概念,思想)
  13. (三)爬取新房销售信息——位置坐标转换+地图标点可视化篇
  14. 哪款护眼灯最适合学生?教育部入围护眼照明品牌
  15. 通过C#Microsoft.Office.Interop.Word理解互操作性
  16. 怎么开启windows hypervisor platform,解决hypervisor platform消失无法安装的问题
  17. TCP/IP四层模型与OSI七层参考模型(网络协议)
  18. 用c语言交通信号灯论文,plc交通信号灯毕业论文.doc
  19. 乡村田园风的美食账号为何能在强者如云的美食号中走出一条路?
  20. 微商怎么从小白开始学发圈

热门文章

  1. 深度学习环境搭建(二)之 CUDA Driver 安装
  2. 易语言暗色系UI源码分享
  3. 推荐一个CG模型的下载地方。
  4. 【Midjourney】Midjourney Prompt 提示词 ④ ( 纹身设计 | 建筑设图案 | 照片级真实性图像 | 玻璃窗设计图案 | 使用 Blender 制作的 3D 图像 )
  5. JUnit测试模拟JoinPoint
  6. Vue.js - watch对象的属性在IE9下失效
  7. 九章Twitter 后端系统资源
  8. HT1621段式液晶驱动(一)
  9. 淘宝双十一电商秒杀系统架构设计
  10. 【第二部分 图像处理】第3章 Opencv图像处理进阶-【1 图像处理D-图像金字塔】(imgproc组件、feature2D组件)