查看正在执行的线程
在MySQL终端中或客户端工具中使用命令
SHOW PROCESSLIST;
# 或者
SHOW FULL PROCESSLIST;
在命令行中使用命令
mysqladmin processlist;
显示结果
Id User Host db Command Time State Info
58651 root localhost:7285 edu Sleep 1468 \N
58652 root localhost:7287 stock Query 0 starting show full processlist
58653 root localhost:7286 stock Sleep 1468 \N
58654 root localhost:7290 \N Sleep 1470 \N
58656 root localhost:7293 \N Sleep 1469 \N
参数说明
- Id:线程标识,使用kill命令时会用到
- User:当前连接用户
- Host:当前连接来自哪个IP端口
- db:当前连接的数据库
- Command:连接状态,休眠:sleep,查询:query,连接:connect
- Time:连接持续时间(秒)
- State:当前SQL语句的状态
- Info:使用的SQL,语句过长时,可能会显示不全。
更具体的SQL语句状态(State)说明看这里
终止线程
在MySQL终端中或客户端工具中使用命令
thread_id 即Id标识。
KILL thread_id;
在命令行中使用命令
mysqladmin kill thread_id;
终止标记会在特定的间隔被检查,所以终止一个线程可能需要稍等一哈哈,等线程释放资源后,线程才会真正的终止。