【BR】【restore】失败

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。

  • 【TiDB 版本】:
    V4.0.0
  • 【问题描述】:
    使用BR每天定时任务以DB为单位进行备份,备份命令:
    ./br backup db
    –pd “192.168.16.106:2379”
    –db ${db}
    –storage “local:///br_data/tidb_backup/${db}/${currentdate}”
    –ratelimit 40
    –log-file /home/tidb/tidb-toolkit-v4.0.0-linux-amd64/logs/tidb_backup/${db}/${currentdate}/backuptable.log

然后今天恢复的时候报错,并且影响了线上其他应用的数据库连接。恢复脚本:

./br restore db \

--pd "192.168.16.106:2379" \

--db c_lease_yaogu \

--storage "local:///br_data/tidb_backup/c_lease_yaogu/20201115" \

--ratelimit 10 \

--log-file /home/tidb/tidb-toolkit-v4.0.0-linux-amd64/logs/tidb_backup/c_lease_yaogu/restorefull.log

restorefull.log日志如下:

restorefull.log (723.8 KB)

若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出的打印结果,请务必全选并复制粘贴上传。

1、日志中有许多报错,其中 region is empty 报错并不会影响恢复,高版本的 br 工具会将该告警级别调低,可以考虑换高版本
2、日志中发现,有很多表 checksum 失败,该错误导致了备份失败,需要检查备份的文件有没有问题
3、上面提到的影响其他连接,有具体的现象或日志吗?

1.好的,可以换下高版本的
2.如何检查备份文件有没有问题
3.现象是当时很多应用存在数据库连接池timeout的现象,此时使用navicate工具,部分数据库能打开,部分不能打开。部门能开发的数据库,有的表能查询到数据,有的表不能查询到数据。

目前有没有折中的方案,可以先恢复数据:
1.使用本地的备份文件,官方能否帮忙协助下进行解析(急切需要恢复某几张表的数据)
2.在目前的一批的机器上,使用tiup工具,快速搭建一个最小tidb数据库,恢复到这个最小的数据库中,又不影响线上生产数据库正常的运行(因为暂时短时间无法找到单独的资源来搭建)

可以先尝试下按照表级别能否恢复正常。