tidb-br备份与恢复

一、描述

因为tidb正式上线,所以需要一份完整的br备份,tidb的br备份可以有三种方式,一是放到本地上(这个方案在还原的时候需要将其他tikv上的数据迁移到本tikv上,比较麻烦),二是放在共享存储上,三是放到S3上,基于一些方面的考虑选择放到S3上

二、备份和恢复

1.示例

 ./br backup table \
    --pd "*****" \
    --db br_tmp \
    --table b \
    --storage "s3://****/tidb" \
    --s3.region "eu-west-1" \
    --send-credentials-to-tikv=true \
    --ratelimit 128 \
    --log-file backuptable.log
    
    
    
    
 ./br restore table \
    --pd "*****:2379" \
    --db br_tmp \
    --table a \
    --storage "s3://*****/tidb" \
    --s3.region "eu-west-1" \
    --send-credentials-to-tikv=true \
    --ratelimit 128 \
    --log-file backuptable.log
    

2.参数

参数意义
备份级别full:全量备份
db:指定数据库
table:指定表
-s 或 --storage备份保存的路径
–pdpd服务的地址
-V查看br版本
–ca指定 PEM 格式的受信任 CA 的证书文件路径
–cert指定 PEM 格式的 SSL 证书文件路径
–key指定 PEM 格式的 SSL 证书密钥文件路径
–status-addrBR 向 Prometheus 提供统计数据的监听地址
–ratelimit–ratelimit 选项限制了每个 TiKV 执行备份任务的速度上限(单位 MiB/s)
–filter 或 -f筛选备份的库表
–s3.acl设置 S3 预制 ACL,例如 认证读取
–s3.endpoint设置 S3 端点 URL,请明确指定 http 或 https 方案
–s3.provider设置 S3 提供程序,例如 aws, 阿里巴巴, ceph
–s3.region设置 S3 区域,例如 us-east-1
–s3.sse设置 S3 服务器端加密,例如 aws:kms
–s3.sse-kms-key-id用于 S3 服务器端加密的 KMS CMK 密钥 ID。留空以使用 S3 拥有的密钥。
–s3.storage-class设置 S3 存储类别,例如 标准
–log-file日志文件名
–log-format日志格式,默认为text
-L, --log-level日志级别,默认为warn
-redact-info-log设置是否屏蔽日志中的敏感信息
-c, --send-credentials-to-tikv是否向 Tikv 发送凭据(默认为 true)
–switch-mode-interval恢复时在 TiKV 上保持导入模式(默认 5m0s)
–check-requirements是否在执行命令前启动版本检查(默认为 true)
–checksum在任务结束时运行校验和(默认为 true)
–gcs.credentials-file设置 GCS 凭证文件路径
–gcs.endpoint设置 GCS 端点 URL
–gcs.predefined-acl为对象指定 GCS 预定义的 acl
–gcs.storage-classSpecify the GCS storage class for objects

3.增量备份与恢复

如果想要备份增量,只需要在备份的时候指定上一次的备份时间戳 --lastbackupts 即可。

注意增量备份有以下限制:

  1. 增量备份需要与前一次全量备份在不同的路径下
  2. GC safepoint 必须在 lastbackupts 之前

你可以使用 validate 指令获取上一次备份的时间戳,示例如下:

LAST_BACKUP_TS=`br validate decode --field="end-version" -s local:///home/tidb/backupdata | tail -n1`

增量恢复的方法和使用 BR 进行全量恢复的方法并无差别。需要注意,恢复增量数据的时候,需要保证备份时指定的 last backup ts 之前备份的数据已经全部恢复到目标集群。

三、注意事项

  1. 恢复单个表时,恢复完成后需要执行 ANALYZE TABLE (单个库则会自动ANALYZE)
  2. 恢复的数据 TiCDC/Drainer 不会同步到下游
  3. 恢复时必须为空表或者表不存在才能恢复
  4. 备份数据可以恢复到另外的集群
  5. BR 只支持在 new_collations_enabled_on_first_bootstrap 开关值相同的集群之间进行操作。这是因为 BR 仅备份 KV 数据。如果备份集群和恢复集群采用不同的排序规则,数据校验会不通过

官网文档: https://docs.pingcap.com/zh/tidb/v4.0/use-br-command-line-tool

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值