MySQL 进程管理与优化:处理长时间运行进程
🔍 查看当前运行进程
sql
-- 查看所有正在执行的连接和进程
SHOW FULL PROCESSLIST;
⚡ 快速终止长时间运行进程
方法一:批量生成KILL语句
sql
-- 生成终止执行时间超过1000秒的进程的KILL命令(排除当前连接)
SELECT CONCAT('KILL ', id, ';') AS kill_command
FROM information_schema.PROCESSLIST
WHERE TIME > 1000
AND ID != CONNECTION_ID() -- 排除当前连接
AND COMMAND != 'Sleep'; -- 排除睡眠状态的连接
方法二:直接执行KILL操作
sql
-- 终止指定的进程ID(多个进程用逗号分隔)
KILL 1389, 1390, 1391, 1392, 1393, 1394, 1395;
1390, 1391, 1392, 1393, 1394, 1395;
使用说明:
- 先执行
SHOW PROCESSLIST查看当前进程状态 - 使用生成语句筛选需要终止的长时间运行进程
- 复制生成的KILL命令执行,或直接使用KILL语句终止指定进程
注意事项:
- 谨慎操作KILL命令,会立即终止连接
- 建议先确认进程是否真的需要终止
- 排除当前连接避免误杀自己