MySQL 进程管理与优化:处理长时间运行进程

152 阅读1分钟

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;

使用说明:

  1. 先执行 SHOW PROCESSLIST 查看当前进程状态
  2. 使用生成语句筛选需要终止的长时间运行进程
  3. 复制生成的KILL命令执行,或直接使用KILL语句终止指定进程

注意事项:

  • 谨慎操作KILL命令,会立即终止连接
  • 建议先确认进程是否真的需要终止
  • 排除当前连接避免误杀自己