br restore恢复表数据成功,但是表统计信息没有恢复

一个好的问题描述有利于社区小伙伴更快帮你定位到问题,高效解决你的问题

【TiDB 使用环境】测试环境
【TiDB 版本】V8.2.0
【部署方式】云上部署(什么云)/机器部署
【操作系统/CPU 架构/芯片详情】
【机器部署详情】CPU大小/内存大小/磁盘大小
【集群数据量】
【集群节点数】
【问题复现路径】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】
【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面
【复制黏贴 ERROR 报错的日志】
【其他附件:截图/日志/监控】

备份和恢复的执行语句:
tiup br backup full
–pd “10.0.1.72:2379”
–storage “s3://tidb-backup/backup-$(date +%Y%m%d_%H%M%S)/?access-key=admin&secret-access-key=mima&endpoint=http://10.0.1.72:9000&force-path-style=true”
–ratelimit 200
–ignore-stats=false
–log-file /tmp/br_minio.log

tiup br restore table --pd “10.0.1.72:2379”
–storage “s3://tidb-backup/backup-20260109_074500/?access-key=admin&secret-access-key=mima&endpoint=http://10.0.1.72:9000&force-path-style=true”
–db “wallet”
–table “RETRY_PRE_CUS_TRANS”
–load-stats
–log-file /tmp/br_restore.log
image

br默认是不备份统计信息的,可以指定–ignore-stats参数

我指定了–ignore-stats=false,恢复的时候也加上–load-stats,但还是没有恢复统计信息

恢复的日志看一下

确定源库有统计?

源库有的,我发的截图的copy表是我复制出来的,有统计信息;
但是执行restore语句没有直接恢复表的统计信息

1 个赞

br -V

统计信息需要单独处理

1 个赞

ANALYZE TABLE RETRY_PRE_CUS_TRANS;

先修正命令格式(中文破折号、换行拼接),这是执行失败的最常见原因;
tiup br backup full
–pd “10.0.1.72:2379”
–storage “s3://tidb-backup/backup-$(date +%Y%m%d_%H%M%S)/?access-key=admin&secret-access-key=mima&endpoint=http://10.0.1.72:9000&force-path-style=true”
–ratelimit 200
–ignore-stats=false
–log-file /tmp/br_minio.log

两种方法

  1. 等 auto analyze 触发;
  2. 或者手动执行 ANALYZE TABLE。

auto analyze这个自动触发的时间是多久?我这两天过去了,也没触发

我的backup备份命令是执行成功了

v8.5.4

统计信息我看官网不是说在8.0.0版本之后会默认自动恢复吗?是要手动恢复?我的tidb版本是V8.2.0,br版本是V8.5.4

–table “RETRY_PRE_CUS_TRANS”
– 恢复的时候指定了特定的表,这情况应该不会恢复统计信息

我刚才试了下,指定恢复单独的库表的统计信息也不会恢复
一定要是整库恢复才会恢复表的统计信息吗?

restore 成功后,写个脚本手动操作下不是好了吗

建议用854版本测,8.2不算正式版