每个与mysqld的连接都在一个独立的线程里运行,可以使用SHOW PROCESSLIST语句查看哪些线程正在运行,并使用KILL thread_id语句终止一个线程。
如果拥有SUPER权限,可以终止所有线程和语句。否则,只能查看和终止您自己的线程和语句。也可以使用mysqladmin processlist和mysqladmin kill命令来检查和终止线程。
查看、关闭当前进程命令:
1、show OPEN TABLES where In_use > 0; --查询当前表资源使用中的情况
2、show processlist; --查询当前表进程
3、kill id; --根据进程ID杀进程
4、select concat('KILL ',id,';') from information_schema.processlist where id > 200; --生成多个进程语句
5、再次show processlist,可看到效果:
在多数情况下,线程终止可能要花一些时间,这是因为终止标记只会在在特定的间隔被检查,等待线程结束即可。