MySQL SHOW PROCESSLIST

时间:2019-11-20 08:52:36  来源:igfitidea点击:

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

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

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

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

SHOW [FULL] PROCESSLIST;

具有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)

SHOW PROCESSLIST命令的输出包括以下几列:

ID

客户流程的ID

用户

与线程关联的用户名。

主办

客户端连接到的主机

D B

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

命令

命令类型

时间

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

表示操作,事件或状态的线程状态,该状态指示正在执行什么线程。

信息

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

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