摘要:在本教程中,您将学习如何使用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
语句来查找当前正在运行的线程。
本教程有帮助吗?