元数据丢失只得是中控机里的嘛?没懂
背景:
3台物理机,每台上面各有一个PD
、TiKV
、TiDB
,其中一台是TiUP
中控机(它宕机挂掉,无法恢复)
集群拓扑是:3PD
+ 3TiKV
+ 2TiDB
恢复过程:
- 准备工作:未对
TiUP
中控机做备份,根据仅存的节点拼接出了集群的topology.yaml
,在deploy
之后,display
看到了有2个PD
,2个TiKV
存活 - 对
PD
扩容,发现新扩容的节点起不来,于是按照官方的方式采用PD-Recovery
进行恢复 - 对
TiKV
进行扩容,这步非常顺利 - 试着拉
TiDB
,起不来,查看日志发现有[“load mysql.user fail”] [error=“[planner:1054]Unknown column ‘create_role_priv’ in ‘field list’”]
类似的元数据丢失,不管后续的扩容,结果还是一样,未查到原因,我检查了是否有bad region
或者是否有缺副本的region
,均为发现 - 新建了一套集群,因为
PD
和TiKV
是正常工作的,采用BR对其做full back,之后Restore到新集群,看了下数据回来了
可以备份以及恢复说明没有bad region了,这个报错“[“load mysql.user fail”] [error=“[planner:1054]Unknown column ‘create_role_priv’ in ‘field list’”]”就很奇怪了
此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。