-- 超过60秒sql
SELECT id,`USER`,`host`,DB,command,`time`,state,info FROM information_schema.PROCESSLIST WHERE TIME>=60;
查看当前连接情况
show status like 'Threads%';
然后用show processlist; 查看具体连接,show processlist;只列出前100条,如果想全列出请使用show full processlist;
show processlist;
Threads_connected 跟show processlist结果相同,表示当前连接数。准确的来说,Threads_running是代表当前并发数
然后使用
flush hosts;
查询mysql当前事务
SELECT * FROM information_schema.INNODB_TRX;
2、杀掉当前所有的MySQL连接(值得拥有)
mysqladmin -uroot -p processlist|awk -F "|" '{print $2}'|xargs -n 1 mysqladmin -uroot -p kill
杀掉指定用户运行的连接,这里为sa
mysqladmin -uroot -p processlist|awk -F "|" '{if($3 == "sa")print $2}'|xargs -n 1 mysqladmin -uroot -p kill
3、通过shell脚本实现
#杀掉锁定的MySQL连接
for id in `mysqladmin processlist|grep -i locked|awk '{print $1}'`
do
mysqladmin kill ${id}
done
查看具体情况:
SELECT * FROM information_schema.INNODB_TRX\G;