1. 列出MyCat正在执行的命令(1.18版本, 2021-5-14后)
/*+ mycat:showConnections{}*/
SELECT CONNECTION_ID()
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后)
KILL processlist_id
processlist_id参数是SHOW PROCESSLIST 返回的 ID 字段
3.线程监控运维工具(2022-3-27后)
/*+ mycat:showThreadInfo{} */; 显示线程信息
/*+ mycat:interruptThread{
"id":39
} */;//唤醒线程
/*+ mycat:killThread{
"id":39
} */;//尝试杀死线程,要多尝试几次