MYSQL 批量删除连接

前言:当我们发现很多异常连接占用满我们的连接池,而删除他们需要一个个kill非常不方便,所以网上找了一个存过,可以批量根据某个条件进行kill,记录一下。

sql 复制代码
-- 显示所有的连接
show processlist;

-- 下面是存过的创建
-- 获取所有连接的列表,并选择执行时间超过100秒的连接
DELIMITER //
drop procedure IF EXISTS KillLongRunningQueries;
CREATE PROCEDURE KillLongRunningQueries()
BEGIN
    DECLARE done INT DEFAULT FALSE;
    DECLARE conn_id INT;
    -- 这里改为自己的条件
    DECLARE cur CURSOR FOR SELECT id FROM INFORMATION_SCHEMA.PROCESSLIST WHERE state='Sending data' AND USER = 'user01';
    DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;

    OPEN cur;

    read_loop: LOOP
        FETCH cur INTO conn_id;

        IF done THEN
            LEAVE read_loop;
        END IF;

        -- 执行KILL命令
        SET @kill_command = CONCAT('KILL query ', conn_id, ';');
        PREPARE stmt FROM @kill_command;
        EXECUTE stmt;
        DEALLOCATE PREPARE stmt;
    END LOOP;

    CLOSE cur;
END//

DELIMITER ;
-- 存过结束

-- 调用存储过程来批量删除连接
CALL KillLongRunningQueries();
相关推荐
sunshine8852 小时前
财务RPA的深水区应用:超越自动化,迈向智能决策支持
数据库
efir OONA3 小时前
MySQL数据库误删恢复_mysql 数据 误删
数据库·mysql·adb
zhangchaoxies3 小时前
如何在 Go 中安全复制接口指针所指向的值
jvm·数据库·python
陈陈CHENCHEN4 小时前
【数据库】MySQL 8.0.40 至 8.0.44 RPM 方式升级指南
数据库·mysql
Azhao11064 小时前
一文读懂分享网站模块介绍(附实操教程)
mysql
m0_734949794 小时前
怎么利用Navicat进行调整备份文件压缩等级_详细配置与操作步骤
jvm·数据库·python
T.i.s4 小时前
番外续2-MIT-BIH Arrhythmia Database
数据库
有味道的男人5 小时前
AI 效率翻倍:对接 1688 拍立淘接口,商品全量信息一键抓取
数据库
m0_741173335 小时前
如何处理SQL中的NULL值_使用ISNULL或COALESCE函数
jvm·数据库·python
志栋智能5 小时前
超自动化巡检:解锁运维数据的深层价值
运维·服务器·数据库·自动化