*** 作步骤:
show processlist
然后找出你要终止的语句的id
在系统下mysqladmin -uroot -ppassword kill 要杀的ID
MySQL查询语句执行的过程:
客户端发送一条查询给服务器;
服务器先会检查查询缓存,如果命中了缓存,则立即返回存储在缓存中的结果。否则进入下一阶段;
服务器端进行SQL解析、预处理,再由优化器生成对应的执行计划;
MySQL根据优化器生成的执行计划,调用存储引擎的API来执行查询;
将结果返回给客户端。
mysql windows 可以这样 *** 作; 不过最好还是写脚本却执行吧,这里的文件如果 *** 作过一次后需要手动删除,不然下次执行会报错。
SELECT CONCAT('KILL ',id,'') FROM information_schema.processlist INTO OUTFILE 'D:\\tmp.txt'source D:\\tmp.txt
php脚本如下:
$result = mysql_query("SHOW FULL PROCESSLIST")while ($row=mysql_fetch_array($result)) {
$process_id=$row["Id"]
if ($row["Time"] > 200 ) {
$sql="KILL $process_id"
mysql_query($sql)
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)