mysql如何查看进程_mysql查看当前运行进程的命令说明

来源:这里教程网 时间:2026-02-28 20:20:32 作者:

在MySQL中查看当前运行的进程,主要通过

SHOW PROCESSLIST
命令来实现。这个命令可以列出当前所有正在执行的线程(连接)及其状态,帮助排查慢查询、连接阻塞等问题。

使用 SHOW PROCESSLIST 查看进程

基本语法:

SHOW PROCESSLIST;

该命令显示当前用户有权限查看的线程信息。如果拥有

PROCESS
权限,可以看到所有线程;否则只能看到自己发起的连接。

完整语法(显示更详细信息):

SHOW FULL PROCESSLIST;

与普通版本的区别是,

FULL
版本会显示完整的SQL语句(不截断),便于分析长查询。

输出字段说明

执行命令后返回的结果通常包含以下列:

Id:线程ID,可用于终止某个连接(
KILL [Id]
User:执行该线程的用户名 Host:客户端的主机名或IP地址及端口 db:当前使用的数据库名(可能为空) Command:线程正在执行的命令类型,如
Query
Sleep
Time:该状态持续的时间(秒) State:线程当前的操作状态,例如
Sending data
Locked
Info:正在执行的SQL语句(
SHOW PROCESSLIST
可能截断,
FULL
版本不截断)

从 information_schema 查看进程信息

MySQL还将进程信息保存在

information_schema.PROCESSLIST
表中,可通过标准SQL查询访问:

SELECT * FROM information_schema.PROCESSLIST;

这种方式便于做条件筛选,比如查找运行时间超过一定阈值的查询:

SELECT * FROM information_schema.PROCESSLIST WHERE TIME > 60 AND COMMAND = 'Query';

常见应用场景

发现长时间运行的查询,优化慢SQL 识别处于
Locked
Waiting
状态的进程
检查是否有大量空闲连接(
Sleep
状态)占用资源
定位异常连接来源(通过Host和User)

基本上就这些。掌握

SHOW PROCESSLIST
information_schema.PROCESSLIST
的使用,能有效监控MySQL运行时的连接状况。

相关推荐