TiDB 的 show processlist 和 MySQL 的 show processlist 区别

1)由于 TiDB 是分布式数据库,tidb-server 实例是无状态的 SQL 解析和执行引擎,用户使用 MySQL 客户端登录的是哪个 tidb-server,show processlist 就会显示当前连接的这个 tidb-server 中执行的 session 列表,不是整个集群中运行的全部 session 列表;而 MySQL 是单机数据库,show processlist 列出的是当前整个 MySQL 数据库的全部执行 SQL 列表。

2)TiDB 的 show processlist 显示内容比起 MySQL 来讲,多了一个当前 session 使用内存的估算值(单位 Byte)。

  • kill
    • 可以 kill DML 语句,首先使用 show processlist,找到对应 session 的 id,然后执行 kill tidb [session id]
    • 可以 kill DDL 语句,首先使用 admin show ddl jobs,查找需要 kill 的 DDL job ID,然后执行 admin cancel ddl jobs ‘job_id’ [, ‘job_id’] …。具体可以参考 admin 操作。
    • 注意:默认 kill 命令是不会真正执行的,需要开启compatible-kill-query参数的设置才会真正执行,参数含义如下:
      • 设置 “kill” 语句的兼容性。
      • 默认: false
      • 在 TiDB 里面 “kill xxx” 语句和 MySQL 行为不一致。只有执行 “kill tidb xxx” 的时候,才会真正的杀死一条查询。当 compatible-kill-query 设置为 true 的时候,则兼容 MySQL 的行为,不需要 “tidb” 关键字。
    • 另外 Ctrl + C 不会停止当前正在执行的 session,因为在 BL 层的时候,如果是通过浮动 IP 连接的 session ,执行事务已经在执行,Ctrl + C 实际就是 session 退出,但是不会停止当前正在执行事务。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值