写点什么

TiDB 升级高版本时 “mysql.tidb_runaway_watch” 不存在问题解决攻略

  • 2025-01-10
    北京
  • 本文字数:1054 字

    阅读完需:约 3 分钟

作者: asd80703406 原文来源:https://tidb.net/blog/90394c97

背景

近期发现很多人从低版本升级至 TiDB v7 或者 v8 版本,均遇到了 tidb-server 启动失败,提示报错如下:


[“get runaway watch record failed”] [error=”[schema:1146]Table ‘mysql.tidb_runaway_watch’ doesn’t exist”]


[“try to get new runaway watch”] [error=”[schema:1146]Table ‘mysql.tidb_runaway_watch’ doesn’t exist”]

社区解决方案

社区很多人的处理方式归类为以下几种方式:


方法 1、多次启停 tidb-server 进程,自动就成功了。 这个也是我自己偶然间重试后,发现的一个方法,确实可以,但是需要多次 stop tidb-4000 ; start tidb-4000;


方法 2、提前创建升级需要的表,比如 mysql.tidb_runaway_watch ,参考链接:https://asktug.com/t/topic/1018496/7 ,参考代码 bootstrap.go 。 亲测,依然无法一次成功。

本人亲测升级方案

接下来分享我多次重试后的升级方案


本人环境:TiDB v5.3.4 升级至 v7.5.1, 3PD + 3 TIKV + 3 tidb

升级步骤

1、停止集群

tiup cluster stop  $cluster_name -y
复制代码

2、升级 tiup 组件

cd tidb-community-server-v7.5.1-linux-amdcp -rp keys ~/.tiup/tiup mirror merge ../tidb-community-toolkit-v7.5.1-linux-amd
复制代码

3、升级 cluster 组件

tiup install cluster
复制代码

4、升级集群(我这里是离线升级法)

tiup cluster upgrade $cluster_name v7.5.1 --offline -y --wait-timeout 3600
复制代码

核心升级步骤(分组件启动)

要想升级不报错,启动升级后集群需要分组件启动

5、启动集群 PD 节点

tiup cluster start $cluster_name -R pd
复制代码

6、启动集群 TIKV 节点

tiup cluster start $cluster_name -R tikv
复制代码

7、启动节点某一台 tidb-server 进程 (重点来了)

tiup cluster start $cluster_name -N IP:PORT
复制代码


只启动一台 tidb-server,这样升级涉及的 bootstrap.go 等相关代码,就只会有一台 tidb-server 执行。亲测不会有报错的情况

8、启动其他服务

tiup cluster start $cluster_name
复制代码

官网标准步骤升级失败的原因猜测

1、低版本升级至高版本,多个 tidb-server 进程存在 mdl 锁争用,也存在锁冲突的情况


2、官方 BUG,没有深挖

升级需要注意事项

1、版本间 cluster yaml 文件可能存在配置不兼容的情况,升级前需要提前确认配置文件兼容性


2、硬件不兼容。 比如 高版本 tiflash 组件需要 CPU 支持 avx2 指令集,升级前需确认,确认命令:lscpu | grep avx2


3、其他原因请参考官网手册


吐槽一下:


专栏审核好复杂。好几天没有审核通过,感觉是有 BUG。第一次提交很快审核通过,后边就 delay 了好几。


发布于: 刚刚阅读数: 1
用户头像

TiDB 社区官网:https://tidb.net/ 2021-12-15 加入

TiDB 社区干货传送门是由 TiDB 社区中布道师组委会自发组织的 TiDB 社区优质内容对外宣布的栏目,旨在加深 TiDBer 之间的交流和学习。一起构建有爱、互助、共创共建的 TiDB 社区 https://tidb.net/

评论

发布
暂无评论
TiDB 升级高版本时 “mysql.tidb_runaway_watch” 不存在问题解决攻略_版本升级_TiDB 社区干货传送门_InfoQ写作社区