启动库时4000端口报错

log里面的error都是类似[ERROR] [runaway.go:145] [“try to get new runaway watch”] [error=“[schema:1146]Table ‘mysql.tidb_runaway_watch’ doesn’t exist”]这样的语句
下面是check的信息 而且我是root用户 为什么说root权限都没有

初始化后启动集群4000端口启动失败 - #28,来自 TiDBer_5Vo9nD1u 参考这个帖子看看,貌似同一个问题

1 个赞

是topology.yml这个配置文件嘛 里面搜不到帖子里面解决方法的那几条语句

建议你安装你上面上传 check 图片中 fail 的都修复下,比如numactl 没安装,swap 没有关闭。。。。。。,然后重新安装下吧

看日志看日志,你得把fail的项目都修复了再装了

问题解决没有?

手动执行systemctl start tidb-4000.service 看看能不能启动,如果不能启动,看下你的tidb_stderr.log日志文件提示什么,另外单机部署,建议不要把swap关闭,这也是一种导致你无法启动的原因

手动执行systemctl start tidb-4000.service,tidb看上去只是缺了一个表,应该是能起来的。

不要用tiup cluster启动tidb,tiup启动的时候超过2分钟起不来会kill掉tidb进程。

然后root连上tidb。把表建好。
建表语句

CREATE TABLE IF NOT EXISTS mysql.tidb_runaway_watch (
id BIGINT(20) NOT NULL AUTO_INCREMENT PRIMARY KEY,
resource_group_name varchar(32) not null,
start_time datetime(6) NOT NULL,
end_time datetime(6),
watch bigint(10) NOT NULL,
watch_text TEXT NOT NULL,
source varchar(512) NOT NULL,
action bigint(10),
switch_group_name VARCHAR(32) DEFAULT ‘’,
rule VARCHAR(512) DEFAULT ‘’,
INDEX sql_index(resource_group_name,watch_text(700)) COMMENT “accelerate the speed when select quarantined query”,
INDEX time_index(end_time) COMMENT “accelerate the speed when querying with active watch”
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;

如果报错缺别的表也是去github上这个文件里面去搜一下就有了。

咋会缺表呢,是初始化没有完全初始化么?

我碰到过一次,是升级的时候会额外建这个表,但因为时间太短(tiup 2分钟限制)没有建完。