TiDB备份恢复有个疑问,想要和社区的友友们讨论下

tiup br 备份恢复的时候,为什么要检测是不是最新的版本呀,如果不是最新的版本,会导致备份失败,恢复失败呢?
数据库所在服务器无法联网,无法更新。
服务器上部署完,备份恢复一直都是可用的。27号突然就失败了,很不理解这个点。有人评论说是会检测是否兼容,一直都可用,也都没有升级,就突然不好用了?

[root@tidb-pd-1 tidb-community-server-v8.5.4-linux-amd64]# ./tiup cluster list
Checking updates for component cluster… Timedout (after 2s)
离线包也要检查更新

可以在:br 后加这个参数–check-requirements=false
不要带着tiup前缀
不过备份集群信息需要用tiup,–help没有忽略的参数说明,还是有些疑惑

tiup br backup db --ignore-version --db test … 加上 --ignore-version 参数。
这个参数会告诉 TiUP:“我知道当前不是最新版,但请忽略这个检查,直接执行我指定的版本”。

换本地的镜像。
另,不是最新版本不会导致失败吧。

理解你的困扰。BR备份恢复时检查版本兼容性,主要是为了保证备份数据的元数据格式与目标集群一致,避免恢复时出现兼容性问题。但你提到的离线环境确实麻烦。

建议试试这个方法:用当前集群版本对应的BR工具,比如集群是v8.5.4,直接下载对应版本的BR二进制文件,不要用tiup拉取。可以在官网找"TiDB离线工具包",里面有独立的BR。或者用tiup mirror show确认本地镜像是否匹配。


不是说检测最新的版本,而是检测br工具和tidb集群版本是否兼容,主要是有助于确保恢复操作的顺利执行和数据的一致性

  • BR 强制校验 tiup 客户端 /br 二进制与集群 TiDB 版本匹配,不是强制必须全网最新发行版;你混淆了两个概念:「全网最新版」vs「和集群大版本对齐」
  • 离线环境拿同版本安装包内自带的 br 二进制完全可以正常跑备份恢复,不需要联网升级 tiup,报错基本是两个原因:①混用跨大版本 br 程序 ②用了在线 tiup 镜像校验机制、离线无镜像访问被拦截
  • PingCAP 这个设计不是不合理,是为了屏蔽大量跨版本 BR 兼容性故障;离线环境有标准的离线使用方案,不用在线 tiup 也能运行 BR

之前用的BR工具备份正常,但是27号备份失败了,然后升级就正常了。数据库所在服务器是无法联网的呀

换本地的镜像。

1 个赞

这个工具 在官方文档已经明确说了,每个版本tidb,明确用对应版本的br,在第一次部署的时候br 工具应该自带了,没必要用新的,用对应的版本就好了

好的呀,准备在测试环境测试下,没问题就把br路径换一下

服务器不联网,之前tiup br backup full这样备份,但是就是27号跑定时任务,就没有生成备份文件了。手动直接备份脚本,一直卡住,没有输出,后来打了断点。

没用最新的呀,服务器不联网。部署完都没做任何升级。之前一直都是好用的

突然报错?

不报错的,就是突然不能用了,检查更新。没有输出

安装的时候是在线安装的,现在是离线使用环境吧?

博客 - 关于 tiup 在线源切换处理 | TiDB 社区 试试这个

tiup br 增加参数跳过联网 / 版本校验:–ignore-version、–check-requirements=false;

直接提取出 br 二进制文件单独运行?

是呀是呀,离线使用,好的呀,太感谢了。我看下这个

检查一下工具