Table 'mysql.bind_info' doesn't exist 导致TiDB无法启动

【 TiDB 使用环境】生产环境 /测试/ Poc
测试

【 TiDB 版本】
V5.4.0

【复现路径】做过哪些操作出现的问题
TiDB是混合部署在K8S的三个节点上。大约两个月前升级的,升级之后到最近都挺正常的。最近有个节点重启过,节点起来后,tidb就启动不了,报缺少bind_info这个表。后来另一个节点因磁盘占满也停机过,导致另一个tidb也挂了。

【遇到的问题:问题现象及影响】
有什么办法可以恢复吗?

【资源配置】
【附件:截图/日志/监控】
[2022/11/14 13:36:34.623 +08:00] [INFO] [base_client.go:104] [“[pd] init cluster id”] [cluster-id=7146020452736557313]
[2022/11/14 13:36:34.623 +08:00] [INFO] [client.go:648] [“[pd] tso dispatcher created”] [dc-location=global]
[2022/11/14 13:36:34.629 +08:00] [INFO] [store.go:80] [“new store with retry success”]
[2022/11/14 13:36:34.645 +08:00] [INFO] [tidb.go:72] [“new domain”] [store=tikv-7146020452736557313] [“ddl lease”=45s] [“stats lease”=3s] [“index usage sync lease”=0s]
[2022/11/14 13:36:34.962 +08:00] [INFO] [domain.go:169] [“full load InfoSchema success”] [currentSchemaVersion=0] [neededSchemaVersion=621] [“start time”=267.754682ms]
[2022/11/14 13:36:34.968 +08:00] [INFO] [domain.go:432] [“full load and reset schema validator”]
[2022/11/14 13:36:34.968 +08:00] [INFO] [ddl.go:347] [“[ddl] start DDL”] [ID=c378d589-4d5b-4024-8382-a88b784aa976] [runWorker=true]
[2022/11/14 13:36:34.968 +08:00] [INFO] [manager.go:189] [“start campaign owner”] [ownerInfo=“[ddl] /tidb/ddl/fg/owner”]
[2022/11/14 13:36:34.972 +08:00] [INFO] [ddl.go:336] [“[ddl] start delRangeManager OK”] [“is a emulator”=false]
[2022/11/14 13:36:34.972 +08:00] [INFO] [ddl_worker.go:156] [“[ddl] start DDL worker”] [worker=“worker 1, tp general”]
[2022/11/14 13:36:34.972 +08:00] [INFO] [ddl_worker.go:156] [“[ddl] start DDL worker”] [worker=“worker 2, tp add index”]
[2022/11/14 13:36:34.986 +08:00] [FATAL] [terror.go:292] [“unexpected error”] [error=“[schema:1146]Table ‘mysql.bind_info’ doesn’t exist”]
[stack=“github.com/pingcap/tidb/parser/terror.MustNil\n\t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/parser/terror/terror.go:292\nmain.createStoreAndDomain\n\t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/tidb-server/main.go:297\nmain.main\n\t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/tidb-server/main.go:202\nruntime.main\n\t/usr/local/go/src/runtime/proc.go:225”]
[stack=“github.com/pingcap/tidb/parser/terror.MustNil\n\t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/parser/terror/terror.go:292\nmain.createStoreAndDomain\n\t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/tidb-server/main.go:297\nmain.main\n\t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/tidb-server/main.go:202\nruntime.main\n\t/usr/local/go/src/runtime/proc.go:225”]

手动重建一下这个表吧,除了旧的 binding 没了之外应该没啥大的影响。

额,tidb启动不了,我怎么重建?

应该可以执行一下扩缩容。 先下线掉该tidb节点。后期在扩出来。

应该是不小心倒入的时候把mysql的user表导入进来了

此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。