mysql怎么结束正在执行的语句?

本文中mysql的版本:5.7.33

一、前言概述

有时候我们正在执行执行一些sql语句,结果几十秒过去了 依然没有执行完成 这样可能就会造成 电脑(或 服务器)cpu被严重占用(甚至让cpu占用达到100%) 导致 电脑(或 服务器)性能严重下降 还有可能大概率造成mysql因为当前语句一直在执行的原因 导致其它mysql语句被耽误或者被阻塞在等待 如果这种情况发生在生产环境 那必将是 Fatal!(致命的)。


PS:以上结论只适用于 这种非常耗时的语句 耽误了正常使用 影响了用户 如果是大晚上 凌晨必须等待执行完成 那就等着执行完成就好喽。

二、如何解决?

我们可以使用mysql内置提供的 mysqladmin 工具 来将执行非常耗时的sql语句给kill掉。本文中mysqladmin工具所在的路径为:/www/server/mysql/bin/   

本文中该工具的基本使用语法为:mysqladmin -uroot -ppassword kill 执行sql语句的id

三、举个栗子(使用示例)

-- 执行以下语句,找出执行sql比较耗时的sql语句
show processlist;

示例图片如下所示:

1212121212121.png

由上图可以看到 Id为 4514337 的这条记录,已经执行耗时了 65(Time字段)秒,而正在执行的sql语句为 SELECT * FROM pay_order(Info字段)


kill掉该条sql语句的命令为:

/www/server/mysql/bin/mysqladmin -uroot -p123456 kill 4514337

# 上面语句注意自己mysqladmin工具的所在路径 及mysql用户账号和对应mysql账号的密码 别啥都一股脑复制  一执行发现各种报错。。

这样 该条sql语句就会被 kill(干掉)了。



本文全剧终。



声明:禁止任何非法用途使用,凡因违规使用而引起的任何法律纠纷,本站概不负责。

小周博客
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

精彩评论

全部回复 0人评论 7,777人参与

loading