ERROR 8121 (HY000): privilege check for 'super' fail

【TiDB 使用环境】生产环境
【TiDB 版本】v6.5.5
【操作系统】centos 7.9
【部署方式】云上部署(什么云)/机器部署(什么机器配置、什么硬盘)
【集群数据量】
【集群节点数】
【问题复现路径】做过哪些操作出现的问题

  1. 删除一个表(只有3条数据):drop table xxxxx;
  2. drop table卡住了,一直运行没结束;
  3. 30分钟后,强制退出当前会话,然后再次登录tidb,查看连接 show processlist,删除语句还在运行(drop table);
  4. admin show ddl jobs; ,删除语句一直处于running状态;
  5. 通过show processlist查到sql , kill tidb id不生效,查询连接依然还在;
  6. admin cancel ddl jobs xxxxx; ,报任务不存在,error: [ddl:8226]This job:103906 is almost finished, can’t be cancelled now ;
  7. 手动查询这个表,报表已经不存在了;
  8. 手动重新创建这个表(相同的表名),创建成功;
  9. 告知业务研发验证,结果发现旧的数据库连接查询到的还是删除前的旧表,并且有数据,而新的数据库连接查询这个表,查到的是新表;
  10. 我这边再创建个另一个新表,业务侧再去验证,旧连接查询会报:ERROR 8121 (HY000): privilege check for ‘super’ fail,而新的连接是可以查到的;
  11. 等了一个小时后,admin show ddl jobs发现drop table还是running状态,直接重启执行sql所在的tidb server,才恢复正常;

【遇到的问题:问题现象及影响】



image



请问这是什么原因导致的,望大神解惑

【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面
【复制黏贴 ERROR 报错的日志】
【其他附件:截图/日志/监控】

请问这是什么原因导致的,望大神解惑

我理解为缓存。要么客户端重新连接,要么服务端重启不正常的节点

DDL 阻塞先看元数据锁,参考:https://docs.pingcap.com/zh/tidb/stable/metadata-lock/
元数据锁没有发现再看 tidb 日志

2 个赞

同意楼上,这类6.5左右的版本的ddl卡住问题,最后还能通过重启解决的,大概率都和元数据锁MDL有关。建议直接关闭MDL。

好的,下次出现这个问题,按照文档我再排查下,谢谢

下次遇到这种问题果断重启tidb节点,其他处理方式都不好用

1 个赞

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