TIDB 中ddl语句没法使用,后台一直有ddl job处于cancelling状态中

为提高效率,提问时请尽量提供详细背景信息,问题描述清晰可优先响应。以下信息点请尽量提供:

【**系统版本 **】centos6.5 【TiDB 版本】5.7.25-TiDB-v3.0.0-rc.1-401-g268cbf1a5 , 没有使用Ansible 部署,只是最简单的搭的环境 【集群节点分布】1个 【问题描述】 上周五在tiDB数据库上进行drop某个表的 索引操作,由于当时navicat卡死,所以就强制关闭了窗口动作后,再执行了一次drop索引动作,还是卡死,然后关闭窗口后,没去理会,等到我再这个数据库创建一张表时发现,事务一直没法提交,一直卡着,所以去看了进程发现之前的那些drop操作一直留在后台,然后使用kill id操作,kill tidb id操作,最后使用 admin cancel ddl jobs 20038操作后,显示进程已经处于cancelling 中,但却发现对这个数据库进行DDL操作时全部语句会卡死,查资料发现是因为这个进程还处于取消中,导致后面的ddl操作处于排队中,请问有人知道怎么彻底杀死,我已经重启服务器多次了也还是没用,进程自动会running。 如图

看了官方文档说是 * 只有该操作可以取消 DDL 作业,其他所有的操作和环境变更(例如机器重启、集群重启)都不会取消 DDL 作业。 目前状态如下 麻烦有人知道怎么解决吗,感谢了 ———————————————— 【关键词】DDL, TIDB, cancelling

  • 当前是否成功?

没有,我最后删除data文件,重新创建tidb了

  • 释放集群重新部署的?

我的只是在一台服务器进行单节点简单部署,相当于就是把数据库卸载重装就行了,之前看了ddl回滚不了的方案是使用ansible部署的情况下,重新执行初始化 $ ansible-playbook bootstrap.yml

$ ansible-playbook deploy.yml

$ ansible-playbook start.yml 作业回滚撤销成功。可能简易安装失去太多功能,导致对系统没法有效控制了。

OK。