MongoDB 高手课
唐建法(TJ)
Tapdata CTO、MongoDB 中文社区主席、前 MongoDB 大中华区首席架构师
19351 人已学习
新⼈⾸单¥59
课程目录
已完结/共 53 讲
MongoDB 高手课
登录|注册
留言
16
收藏
沉浸
阅读
分享
手机端
回顶部
当前播放: 30 | 备份与恢复操作
00:00 / 00:00
高清
  • 高清
1.0x
  • 2.0x
  • 1.5x
  • 1.25x
  • 1.0x
  • 0.75x
  • 0.5x
网页全屏
全屏
00:00
付费课程,可试看
01 | 课程介绍
02 | 内容综述
03 | 认识文档数据库MongoDB
04 | MongoDB特色及优势
05 | 实验:安装MongoDB
06 | MongoDB基本操作
07 | 实验:Hello World程序开发
08 | 聚合查询
09 | 实验:聚合查询
10 | 复制集机制及原理
11 | 实验:搭建MongoDB复制集
12 | MongoDB全家桶
13 | 模型设计基础
14 | JSON文档模型设计特点
15 | 文档模型设计之一:基础设计
16 | 文档模型设计之二:工况细化
17 | 文档模型设计之三:模式套用
18 | 设计模式集锦
19 | 事务开发:写操作事务
20 | 事务开发:读操作事务之一
21 | 事务开发:读操作事务之二
22 | 事务开发:多文档事务
23 | Change Stream
24 | MongoDB开发最佳实践
25 | 分片集群机制及原理
26 | 分片集群设计
27 | 实验:分片集群搭建及扩容
28 | MongoDB监控最佳实践
29 | MongoDB备份与恢复
30 | 备份与恢复操作
31 | MongoDB安全架构
32 | MongoDB安全加固实践
33 | MongoDB索引机制(一)
34 | MongoDB索引机制(二)
35 | MongoDB读写性能机制
36 | 性能诊断工具
37 | 高级集群设计:两地三中心
38 | 实验:搭建两地三中心集群
39 | 高级集群设计:全球多写
40 | MongoDB上线及升级
41 | MongoDB应用场景及选型
42 | MongoDB典型案例(一)
43 | MongoDB典型案例(二)
44 | 关系型数据库迁移
45 | 数据库迁移方式及工具
46 | Oracle迁移实战
47 | MongoDB + Spark实时大数据
48 | MongoDB + Spark连接实战
49 | MongoDB SQL套接件
50 | MongoDB与微服务
51 | MongoDB与数据中台
52 | MongoDB数据中台案例
53 | 结果测试&结束语
登录 后留言

全部留言(16)

  • 最新
  • 精选
dream
老师,请问mysql中的数据怎么迁移到mongodb呢?对于少量数据(100m内) 和 大量数据(几个T) 的处理方式分别是什么呢?

作者回复: 如果是一次性迁移,直接导出到CSV文件然后使用mongoimport命令。100MB或者几个T都是这样。 如果是持续迁移,那需要一些专门的工具,比如说我们公司的tapdata产品。

2020-01-21
3
撑伞也是雨中人。
老师 分片集群具体如何实施备份? 停掉均衡器之后,各个节点通过定时任务备份(各个机器启动备份时间点是否能够绝对一致,如果备份时间点存在几秒的差别,是否有致命风险?)

作者回复: 停掉均衡以后,备份可以保证每个节点各自是准确的。但是各个节点之间时间点很难保证在同一点上,所以每个节点恢复以后那个状态不是完全同步的。这个没有致命风险,但是确实有数据不一致的可能性。如果要做到完全一致,需要使用MongoDB 企业版 Ops Manager的分片备份功能。

2020-01-02
2
Mr.zhou
老师,有一个问题不明白。为什么需要分片集备份?通过 mongodump 连接到mongos上不就能对集群进行备份吗?比如这命令:./mongodump --host IP地址:27017 --username=用户名 --password=密码 --authenticationDatabase=admin --db=bim --collection=processTask --out=/data/20200901 不就能对bim数据库下的processTask进行全量备份嘛?我们的集群是有两个shard,每一个shard有3个复制集的集群

作者回复: 这个方法可以做备份,但是不是最严格的。严格的备份能够提供指定时间点的恢复。比如说,如果你发现13:01分的时候有个误删操作,使用好的分片备份机制,可以恢复到13:00的准确状态。而通过mongodump是没有这种保障机制的。

2020-09-13
book尾汁
老师请教下,我们的生产环境近几日有些数据删掉了,看还在oplog的覆盖范围内,但是我们之前没做过全量备份,这个有什么办法可以恢复吗

作者回复: 可以通过历史数据备份+oplog 重放来恢复,抱歉回复完了。

2020-09-09
2
阿丽
老师,除了dump时指定oplog,是不是oplog也要单独备份呢?

作者回复: dump的话单独备份是不需要的。除非你另有别的用途

2020-03-12
2
Geek_f7ecaa
在遇到误删除数据需要恢复的到删除时间点的数据时,需要通过OPLOG先找到误操作的时间点,但往往遇到因为oplog往往比较大(生产环境几十、上百G),导致查询和分析OPLOG很慢,恢复效率较低,有没有更高效一些的恢复方法?

作者回复: 你是如何在查询和分析,可以稍微明确一些吗?

2020-01-20
齐宝金
请问下老师,副本集集群有通过物理备份+oplog实现任意点的恢复吗,就是类似mysql的innobackupex+binlog的方式,有可参照的案例吗

作者回复: 可以的,大致步骤是: 1)用snapshot或者关机复制文件方式进行全量备份 2)使用mongodump 备份 oplog 库 3)恢复全量备份 4) 使用 mongorestore 的 --oplogFile --oplogLimit 参数来恢复指定的oplog 时间点 可以参考下面这个英文博客 https://alexmarquardt.com/2017/01/25/mongodb-point-in-time-restore/

2020-01-11
2
癫狂的小兵
唐老师你好,想问一个问题。对于单个实例的mongodb, 假设条件1:数据库有10个集合,每个集合的文档数是1亿条记录和假设条件2:数据库只有1个集合,同样拥有1亿条记录,那么对于同样数量级的访问请求 这两个假设条件下性能是否会有不同,影响有多大呢? 问题主要是想知道,同一实例下,大集合之间会不会有互相影响(不存在聚合查询, 各查各的)

作者回复: 如果两个情况下,你的请求量是完全一样的,比如说,同样的请求,查的是同一个集合,一样的并发,那么影响不大,因为其他集合的数据只是在硬盘上,不会被调用到内存里。如果你对其他9个集合也有访问,那性能自然就不相同了。

2020-01-09
鲨无赦
唐老师好,问2个问题: 1、分片集群下的副本集只有2台机器,一次意外断电导致其中一台系统启动不了,这个副本集也就坏了,如果强制把它从分片集群理彻底删除,现在一直处理【"draining" : true】。 2、用MongoShake从A副本集同步数据到B副本集报错【Size must be between 0 and 16793600(16MB) First element】,2个副本集配置和参数都一样,那报错的这个文档为什么在A副本集写入是成功?

作者回复: 1) 应该先修复副本集再做删除动作,可以删掉坏掉的那个节点的数据,让它自动恢复数据。 2) 这个要看mongoshake团队,有个钉钉群,你可以搜一下加群问。

2020-01-08
qbit
另外两种全量备份方式(文件复制、文件快照)后面会讲到吗?

作者回复: 这两种方式比较简单,一个是复制文件,一个是操作系统命令,就没有特别讲了。

2020-01-05
收起评论