tidb 从V6.5.1升级到v7.5.0后,tidb节点无法启动

ALTER TABLE mysql.stats_meta_history ADD COLUMN IF NOT EXISTS source varchar(40) NOT NULL after version;

这个修改表的时间可能会很长。导致超过tiup的等待时间2分钟,然后更新失败。但不应该导致tidb起不来。

ssh登到tidb部署的机器上,用systemctl 手动启动一下tidb试试看。

systemctl status tidb-4000.service

https://docs.pingcap.com/zh/tidb/stable/tidb-control#使用介绍

看上去不行。

手动启动,可以启动tidb-4000.service,但是还是连不上数据库

1 个赞

备份么,升级这个操作肯定做了备份吧。建议分两步走吧,
1、在新开一个tidb集群,用备份还原上去。
2、在看升级引起的问题(按照群里面大神去操作尝试)
1快的话,直接将2资源在扩容到1的集群中

找个mysql客户端,单独连这台tidb实例。这个服务能起来就应该能连上的。

另外看看tiup cluster display 【clustername】的结果。看看这个tidb的版本现在是多少。

试了不行,头大

这个是什么结果?

能不能移除tidb组件,重新安装一下试试

非常奇怪啊。总结一下,

systemctl status tidb-4000.service

能看到服务器起来了,但是连不上,tiup也连不上。
日志里面除了一个表找不到,也看不到报错退出。

ps -ef|grep tidb-server
这个tidb-server进程还在吗?

升级的时候是没有报错完全结束的吗?

感谢兄弟们的支持,我在关闭binlog以后,重新执行一下升级的命令,再次重启就都成功了

1 个赞

恭喜恭喜

那就是升级时候就有报错,没有升级完成。

恭喜恭喜,新年快乐

真快,我还没爬完楼问题就解决了 :+1: :+1: :+1:

我后来想你们可以离线升级,那么缺少的表,在执行脚本的时候就应该会重新创建.按照这个思路,试了一下果然可以

1 个赞

那应该升级过程自行修复问题了

强烈建议官方,在升级版本文档里重点标识一下,那些组件在新版本里不兼容,这样能避免一些升级带来的问题

恭喜成功