MySQL SHOW PROCESSLIST

摘要:在本教程中,您将学习如何使用SHOW PROCESSLIST命令查找当前正在运行的线程。

有时,您可能会收到 MySQL 服务器返回的“连接数过多”错误。要查找原因,可以使用SHOW PROCESSLIST命令。

SHOW PROCESSLIST命令返回所有当前正在运行的线程。然后,您可以使用KILL语句终止空闲线程。

下面显示了SHOW PROCESSLIST命令的语法:

SHOW [FULL] PROCESSLIST;
Code language: SQL (Structured Query Language) (sql)

具有PROCESS权限的帐户可以查看所有线程。否则,他们只能查看与其帐户关联的话题。

以下显示了SHOW PROCESSLIST命令的输出示例:

mysql>SHOW PROCESSLIST;

+----+-----------------+-----------------+---------------+---------+------+------------------------+------------------+
| Id | User            | Host            | db            | Command | Time | State                  | Info             |
+----+-----------------+-----------------+---------------+---------+------+------------------------+------------------+
|  4 | event_scheduler | localhost       | NULL          | Daemon  | 2246 | Waiting on empty queue | NULL             |
| 14 | root            | localhost:50924 | NULL          | Query   |    0 | starting               | SHOW PROCESSLIST |
| 15 | car             | localhost:50933 | classicmodels | Sleep   |    2 |                        | NULL             |
+----+-----------------+-----------------+---------------+---------+------+------------------------+------------------+
3 rows in set (0.00 sec)Code language: PHP (php)

SHOW PROCESSLIST命令的输出由以下列组成:

ID

客户端进程的 ID

用户

与线程关联的用户名。

主持人

客户端连接的主机

D B

如果选择了默认数据库,否则为NULL

命令

命令类型

时间

当前线程处于当前状态的秒数。

状态

线程状态代表一个动作、事件或指示哪个线程正在执行的状态。

信息

该语句正在执行,如果没有执行任何语句,则为NULL 。如果在SHOW PROCESSLIST命令中不使用FULL关键字,则 Info 列中仅返回每个语句的前 100 个字符。

在本教程中,您学习了如何使用 MySQL SHOW PROCESSLIST语句来查找当前正在运行的线程。

本教程有帮助吗?