TiDB-从0到1-BR工具

在这里插入图片描述

TiDB从0到1系列
TiDB-从0到1-体系结构
TiDB-从0到1-分布式存储
TiDB-从0到1-分布式事务
TiDB-从0到1-MVCC
TiDB-从0到1-部署篇
TiDB-从0到1-配置篇
TiDB-从0到1-集群扩缩容
TiDB-从0到1-数据导出导入
TiDB-从0到1-BR工具
TiDB-从0到1-sync-diff-inspector数据校验工具
TiDB-从0到1-DM工具
TiDB-从0到1-TiCDC数据同步工具

一、BR工具

BR工具全称backup & restore,如同MySQL可以通过mysqldump和xtrabackup进行备份,TiDB也有dumpling和BR。
BR工具是直接通过PD元信息定位TiKV上的数据分布,从而以热备的方式备份TiKV中的sst文件来实现物理备份
应用场景

  • 常规一致性备份
  • 大规模数据迁移并有时间限制
  • 只能恢复到tidb中
  • 备份输出文件
    sst文件
    backupmeta
    backup.lock文件

当用BR工具恢复数据时,是无法通过ticdc或tidb binlog同步到下游,也很好理解,物理备份恢复是不产生binlog的。

二、BR备份

1、下载安装

wget https://download.pingcap.org/tidb-community-toolkit-v7.5.1-linux-amd64.tar.gz
------
tar -xvf tidb-community-toolkit-v7.5.1-linux-amd64.tar.gz

2、解压需要的工具包
与dumpling类似,br工具也都在tidb-community-toolkit工具包内
在这里插入图片描述

tar xvf br-v7.5.1-linux-amd64.tar.gz

3、创建备份目录
该目录可以在远程服务器,也可以在各个TiKV节点。之所以说各个TiKV节点,是因为BR工具会将各个TiKV节点的sst备份在各自所在的服务器相应位置上。

#各个TiKV节点都需创建
mkdir /tmp/backup
#该目录需要配置读写权限
chmod -R 777 /tmp/backup

4、进行全库备份

br backup full --pd "192.168.14.122:2379" --storage "local:///tmp/backup" --ratelimit 128 --log-file backupfull.log

在这里插入图片描述
(备份成功)

5、查看备份结果
在这里插入图片描述

6、其他功能

单库备份

br backup db --pd "192.168.14.122:2379" --db test --storage "local:///tmp/backup" --ratelimit 128 --log-file backupfull.log

单表备份

br backup table  --pd "192.168.14.122:2379" --db test --table t1 --storage "local:///tmp/backup" --ratelimit 128 --log-file 

多表备份

br backup full --pd "192.168.14.122:2379" --filter 'test*.t*' --storage "local:///tmp/backup" --ratelimit 128 --log-file backupfull.log

三、BR恢复

上一步我们已经有了全备,此时就将整个TiDB集群clean,然后通过全备进行恢复。
1、清空tidb-test集群数据

2、数据准备
因为是TiDB是分布式数据库,所以恢复时需要将各个TiKV上备份的sst文件同步到其他节点,保证每个TiKV节点上的备份目录中都有完整的备份

scp -r /tmp/backup root@'192.168.14.127':/tmp/backup

(在各个备份节点执行,保证备份数据统一化)

3、目录授权(各个节点的备份目录)

chmod -R 777 /tmp/backup

4、恢复数据

./br restore full --pd "192.168.14.122:2379" --storage "local:///tmp/backup" --log-file restore.log

在这里插入图片描述
(提示恢复完成)

5、验证
在这里插入图片描述

彩蛋

BR工具也支持增量备份

br backup full --pd "192.168.14.122:2379" --ratelimit 128 --storage "local:///tmp/backup/incr" --lastbackupts ${LAST_BAKUP_TS}

例如周一全备+6天增量备份。不过建议使用增量备份。
因为如果在第6天的时候数据异常需要恢复,但是中间任意一天的增量备份异常,都会导致整体恢复失败。
所以最优方案,每日全备保留3天。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值