
数据库在运行过程中会出现各种故障,因此对数据库进行必要的备份是非常重要的。有了数据库的备份就可以在数据库出现错误时保证数据的安全。因此TiDB数据库提供了强大的数据库备份与恢复机制。
视频讲解如下:
基于Raft协议和合理的部署拓扑规划,TiDB实现了集群的高可用,当集群中少数节点挂掉时,集群依然能对外提供服务。在此基础上,为了更进一步保证用户数据的安全,TiDB还提供了集群的备份与恢复(Backup & Restore,BR)功能,作为数据安全的最后一道防线,使得集群能够免于严重的自然灾害,提供业务误操作“复原”的能力。
TiDB备份恢复功能可以用于满足以下业务的需求:
全量备份是对集群某个时间点的全量数据进行备份,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原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。