tidb版本7.1.0,只能在创建表的时候添加索引,对已有数据的表或者空表都无法添加索引,加索引会卡死,进程一直执行,杀掉也一直处于cancelling状态,请问怎么彻底杀死进程,索引怎么才能创建成功呢
你看看tidb的节点上有/tmp/tidb这个目录吗
这个目录的权限怎么是tidb_zhao?tidb是用tidb_zhao这个账号启动的?
是的是的,用户名就是这个
参考这里,用admin cancel ddl
https://docs.pingcap.com/zh/tidb/v7.1/sql-statement-admin-cancel-ddl/#admin-cancel-ddl
cancelling是在回退,这个要等,如果不想等,可以重启ddl owner 节点
2 个赞
你截图看下, admin show ddl jobs
如果是测试环境就重启 tidb 吧,这是最简单的方法。
tiup cluster restart xxx -R tidb 重启就好了 ,选个维护时间搞
以往论坛碰上的ddl卡住的问题,基本都是这3类。你可以排查一下,前2个重点查。因为第三个问题是分布式执行框架的问题,这个特性在7.1还是实验特性,需要手动开启,如果你没有改这块的设置,应该不太可能是第三个案例的情况。
这个是一直cancelling,两三天了
我重启节点才恢复,但是还是加不了索引,把SET GLOBAL tidb_ddl_enable_fast_reorg = OFF;这个关了才能创建
这个tmp目录是系统盘,非SSD吧,这样就需要把fast ddl关掉才行,不然会非常慢
你那会的 DDL Owner 情况有保存吗
是的,论坛里发过几个这个参数的引起无法加索引的帖子
换个用户试试
kill -9 强制

