日常工作中数据库的备份是重中之重,所以本文介绍下TIDB的数据备份与恢复。
前置条件
在tidb中一般我们备份的话,数据不会直接存储在tidb集群服务器上,而是单独找一台大存储的服务器存储备份的数据,还有目前比较流行的主要是把数据存储在S3上面。
tidb提供的备份与恢复的工具主要是BR工具,这是一个单独的工具,需要下载安装。
tidbBR工具的下载地址是:
https://cn.pingcap.com/product-community/
直接下载这里面的commutnity-toolkit软件即可
这里我们下载的版本是7.5.1版本的工具,示例图如下:
再解压下面的br-v7.5.1-linux-amd64.tar.gz这个包
tidb数据备份
使用上面的BR工具进线备份的话,步骤如下:
1、创建一个备份目录
mkdir -p /home/data/tidbdata
2、给目录授予777权限(这一步非常重要,这一步非常重要,这一步非常重要)
chmod 777 /home/data/tidbdata
3、进行整库备份
./br backup full --pd "172.19.0.2:2379" --storage "local:///home/data/tidbdata" --ratelimit 128 --log-file backupfull-20250306.log
执行之后,看到如下的界面就代表备份成功了。
当然这里备份的时候是备份到本地的,如果需要备份到s3这样的对象存储,把local://修改为s3://即可。
备注:
1、如果不想全库进线备份的话,可以单独就那些库/表的备份,命令如下:
#备份单库 ./br backup db --pd "172.19.0.2:2379" --db test --storage "local:///home/data/tidbdata" --ratelimit 128 --log-file backupfull.log #备份单表 ./br backup table --pd "172.19.0.2:2379" --db test --table t1 --storage "local:///home/data/tidbdata" --ratelimit 128 --log-file #备份多表 ./br backup full --pd "172.19.0.2:2379" --filter 'test*.t*' --storage "local:///home/data/tidbdata" --ratelimit 128 --log-file backupfull.log
2、这里选择的工具版本一定要比tidb集群的版本一致或者高一点,不然导出会报错。
3、br工具还支持增量备份,命令如下:
./br backup full --pd "172.19.0.2:2379" --ratelimit 128 --storage "local:///home/data/tidbdata" --lastbackupts ${LAST_BAKUP_TS}
tidb数据还原
数据还原主要是使用备份的数据进线还原,对应的命令如下:
./br restore full --pd "172.19.0.2:2379" --storage "local:///home/data/tidbdata" --log-file restore.log
下面我们来演示以下:
1、清空掉tidb的数据
2、使用命令进行还原
然后查看下tidb里面是否有数据
以上就是使用tidb的BR工具进行备份和恢复的案例。
还没有评论,来说两句吧...