提示表不存在的错误

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

  • 【TiDB 版本】:4.0.7
  • 【问题描述】:image
    由于导入数据的时候中断了,在执行–checkpoint-error-destroy把系统表删除了,请问有什么办法恢复吗,现在无法导入报错的系统表了

具体执行了什么命令? tidb-lightning-ctl --checkpoint-error-destroy=all 吗?

嗯,是的

  1. 继续导入报什么错?
  2. 麻烦上传下 lightning 日志,多谢。


现在做所有的操作都会报这个错,麻烦帮忙找找原因谢谢

你如果处理不了能尽快换个人来处理吗,生产的问题比较急,谢谢

hi, 能不能麻烦确认一下,grafana 的 tikv-detail 页面, 在 gc 的部分,目前「gc lifetime」 是多少,如下面这样的这个图:

现在有这个解决办法:

  1. 我们这边提供一个特殊版本的 tidb-server 绕过这个检查
  2. 部署这个 tidb-server 并且连进去,执行 recover table mysql.global_variables
  3. 如果第二步不成功,那么我们提供一份 mysql.global_variables 的表结构,再导入进去

第二步具体怎么做呢,第三部是我也有试过导入表解构问题是执行任何操作都会报错,没法导入

稍等,我们先提供一个特殊的 tidb 版本

替换集群中的 1 个 tidb-server 节点:
https://docs.pingcap.com/zh/tidb/stable/maintain-tidb-using-tiup#hotfix-版本替换

替换为该 tidb-server 版本:
https://drive.google.com/file/d/1zatgxeHDzPDIBUshGCH6CgSnZRSdEpX8/view?usp=sharing

这个监控项,麻烦发下截图

@lk463419442

  1. 下载 hotfix 的 tidb 到一个路径下(比如 /tmp)
  2. 如果是 tiup 部署,根据文档执行以下命令替换一个 tidb 实例
tiup cluster patch  <cluster-name> /tmp/tidb-hotfix.tar.gz -N 172.16.4.5:4000
  1. 如果是 binary 部署,可以执行
./tidb-server -P <tidb-port> --store=tikv --host=<host-ip> --status=10080 --path=<pd-ip:port>

启动 tidb 成功后,登录进去

  1. 执行 recover table mysql_globalvariables.
  2. 如果上述不成功,手动创建 mysql.global_variables.
    create table mysql.global_variables(`VARIABLE_NAME` varchar(64) NOT NULL, `VARIABLE_VALUE` varchar(1024) DEFAULT NULL, PRIMARY KEY (`VARIABLE_NAME`));

GC lifetime 是 4 day 的话,在替换上述版本的 tidb 后可以通过执行
recover table mysql.global_variables. 来恢复这张表。
如果还有问题,随时在这个贴子下回复。
如果恢复成功了,也和我们说下,我们继续排查的这个表数据丢失的原因。如果是 tiup 部署,别忘了替换回来之前的 tidb-server.

这个网站我本机翻不了,pingcap有链接可以下载hotfix吗

链接: https://pan.baidu.com/s/1PncZIZavEryhBpLyygAYfQ 密码: 9w4t
试下


不行,算了我重新初始化安装一下吧

可以看下/home/tidb/logs/tiup-cluster-debug-2020-10-22-16-47-34.log 具体报错信息是什么?


和我上面截图差不多的错误日志