1. 列出MyCat正在执行的命令(1.18版本, 2021-5-14后)

  1. /*+ mycat:showConnections{}*/
  2. SELECT CONNECTION_ID()
  3. SHOW [FULL] PROCESSLIST

如果使用 SELECT CONNECTION_ID() 则会返回当前用户连接ID,该连接ID与processlist_id相同
如果使用 SHOW FULL PROCESSLIST , 则会返回所有用户正在执行的命令.
如果使用 SHOW PROCESSLIST, 则会返回当前用户正在执行的命令.

注: 与mysql不同, mysql显示保持的链接, 而myat的是显示正在执行的命令.
因为Mycat为了保证资源利用, mycat内部的链接是复用的, 没有进行绑定.

2. 强制停止某个Mycat正在执行的命令(1.18版本, 2021-5-14后)

  1. KILL processlist_id

processlist_id参数是SHOW PROCESSLIST 返回的 ID 字段

3.线程监控运维工具(2022-3-27后)

  1. /*+ mycat:showThreadInfo{} */; 显示线程信息
  2. /*+ mycat:interruptThread{
  3. "id":39
  4. } */;//唤醒线程
  5. /*+ mycat:killThread{
  6. "id":39
  7. } */;//尝试杀死线程,要多尝试几次