当前位置: 首页 > news >正文

【赵渝强老师】TiDB的备份恢复策略

在这里插入图片描述

数据库在运行过程中会出现各种故障,因此对数据库进行必要的备份是非常重要的。有了数据库的备份就可以在数据库出现错误时保证数据的安全。因此TiDB数据库提供了强大的数据库备份与恢复机制。

视频讲解如下

【赵渝强老师】TiDB的备份恢复策略

一、 TiDB备份和恢复基础

基于Raft协议和合理的部署拓扑规划,TiDB实现了集群的高可用,当集群中少数节点挂掉时,集群依然能对外提供服务。在此基础上,为了更进一步保证用户数据的安全,TiDB还提供了集群的备份与恢复(Backup & Restore,BR)功能,作为数据安全的最后一道防线,使得集群能够免于严重的自然灾害,提供业务误操作“复原”的能力。

TiDB备份恢复功能可以用于满足以下业务的需求:

  • 备份集群数据到灾备系统,并保证Recovery Point Objective(RPO)低至5分钟,减少灾难场景下数据的丢失。
  • 处理业务数据写错的案例,提供业务操作的“复原”能力。
  • 审计业务的历史数据,满足司法审查的需求。
  • 复制(Clone)生产环境,方便问题诊断、性能调优验证、仿真测试等。

二、 全量(快照)备份与恢复

全量备份是对集群某个时间点的全量数据进行备份,TiDB的全量备份也可以叫做快照备份。因为TiDB集群快照数据包含某个物理时间点上集群满足事务一致性的所有数据。全量备份一般会占用较大的存储空间,且只包含某个时间点的集群数据。

下面展示了使用BR工具执行快照备份后生成的目录文件信息:

[root@tidb ~]# tree /backup/snapshot/
/backup/snapshot/
└── snapshot-├── 5│   ├── 32_230_ed85b58a2c9d_1739778932458_default.sst│   ├── 32_230_ed85b58a2c9d_1739778932458_write.sst│   ├── 32_230_f0f9b1a4aa3e_1739778932311_write.sst│   ├── 32_230_f4dd8b9e5561_1739778932359_write.sst│   ├── 32_230_f70c98a950fe_1739778932095_write.sst│   ├── 32_230_fd54db249c01_1739778932399_write.sst│   ├── 32_230_fe4f4fe208b8_1739778932299_write.sst│   └── 32_230_fea1363341eb_1739778932201_write.sst├── backup.lock├── backupmeta├── backupmeta.datafile.000000001├── backupmeta.schema.000000002└── checkpoints└── backup

三、 日志备份与恢复

快照备份一般会占用较大的存储空间,且只包含某个时间点的集群数据。如果需要灵活地选择恢复的时间点(即:实现PITR),可以使用日志备份和日志恢复。有了日志备份后,通过br restore point功能,可以指定要恢复的时间点。BR会自动判断和读取恢复需要的数据,然后将这些数据依次恢复到指定的集群。

下面展示了使用BR工具执行日志备份后生成的目录文件信息:

[root@tidb ~]# tree /backup/logbackup
/backup/logbackup
├── backup.lock
├── backupmeta
└── v1├── 20250217│   └── 08│       ├── 1│       │   └── 456073106335727621-93e1553a-6a78-4dc3-874c-b4fcc18731dd.log│       └── 4│           ├── 456073104696803332-317073c0-5462-46b2-99b0-8bc960b6e704.log│           └── schema-meta│               └── 456073106347524098-90ad3814-4b12-4094-b569-02288355512d.log├── backupmeta│   ├── 456073098312810497-032a60d7-f240-47a9-b993-1bcd4b2b947f.meta│   └── 456073098312810497-2b5f0d4f-2a06-472c-9d78-154f851c5c0e.meta└── global_checkpoint├── 1.ts├── 4.ts└── 5.ts

《TiDB数据库从零开始》

相关文章:

  • 关于大疆红外图片提取温度方法 python 方法
  • Python初学者笔记第十一期 -- (字符串编程练习题)
  • 软开错题(二)
  • 【每日刷题】第2天
  • C++ 完美转发
  • qwen2.5vl
  • python爬虫爬取网站图片出现403解决方法【仅供学习使用】
  • Nvidia Orin 安装onnxruntime-gpu
  • 【无标题】MPC软件
  • 算法专题四:前缀和
  • 最优化方法Python计算:无约束优化应用——线性回归分类器
  • css内容省略——text-overflow: ellipsis
  • 【C/C++】虚函数
  • 【软件设计师:程序语言】4.程序语言基础知识
  • 【Linux】Linux环境基础开发工具
  • 深入解析进程间通信与Socket原理:从理论到TypeScript实战
  • 新疆地区主要灾害链总结
  • 软件工程(三):模块的内聚模型
  • 苍穹外卖(用户下单、订单支付)
  • 【useOperatorData Hook 改造实践】
  • 101条关于减重的知识,其中一定有你不知道的
  • 中美“第二阶段”贸易协定是否会在会谈中提出?商务部回应
  • 吴勇强、高颜已任南京市委常委
  • 上海将发布新一版不予行政处罚清单、首份减轻行政处罚清单
  • 上海科创“八杰”赋能新兴产业链:硬核科技,形成良好盈利模式
  • 万里云端遇见上博--搭乘“上博号”主题飞机体验记