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();
相关推荐
zuYM4g7Dp16 小时前
NoSql数据库设计心得
数据库·nosql
bjzhang7516 小时前
CentOS下安装MySQL详解
linux·mysql·centos
睡不醒男孩03082317 小时前
第七篇:揭秘 PostgreSQL 数据库内核级管控:CLup 深度架构设计与高可用底座技术白皮书
数据库·postgresql·clup
cmes_love18 小时前
Level 2逐笔成交历史数据下载方法笔记
数据库·笔记·oracle
swordbob18 小时前
MySQL字符集陷阱:从Oracle迁移踩坑到utf8mb4强制规范
数据库·sql
牛油果子哥q19 小时前
【C++ STL string 】C++ STL string 终极精讲:底层原理、内存机制、全套API、深浅拷贝、易错坑点与工程实战规范
数据库·c++
十五年专注C++开发19 小时前
MySql中各种功能用sql语句实现总结
数据库·sql·mysql
数据库小学妹19 小时前
AI时代数据库怎么选?多模融合、数据统一存储与选型实战指南
数据库·人工智能·经验分享·ai
Albert Edison19 小时前
【Redis】Centos7.9 安装 Redis 5 教程
数据库·redis·缓存
云计算磊哥@19 小时前
运维开发宝典026-MySQL02数据库表操作
运维·数据库·运维开发