MySQL SHOW PROCESSLIST
MySQL中的" SHOW PROCESSLIST"命令用于
显示与当前用户帐户相关的所有正在运行的线程信息。当MySQL服务器返回太多连接错误消息时,此命令非常有用。我们必须确保该用户帐户具有
进程特权才能查看所有正在运行的线程;否则,我们将仅看到与当前帐户关联的线程。 MySQL 提供了一个
KILL 语句来终止我们要杀死的线程。如果使用的是终端,则可以使用
CTRL + C 命令终止当前正在运行的线程。
语法
以下是显示过程信息的语法:
如果收到
"连接过多"错误消息,并且想要确定正在执行的语句,则可以使用以下语法:
mysql> SHOW FULL PROCESSLIST;
请注意,如果我们未使用
FULL 子句,则该语句仅在输出的"信息"字段中显示每个语句的前100个字符。
MySQL SHOW PROCESSLIST示例
通过示例让我们理解它。执行以下语句,我们可以看到以下输出:
SHOW PROCESSLIST的输出显示以下列:
Id : 它指示连接标识符或客户端进程的ID。它与线程内CONNECTION_ID()函数返回的值相同。
用户: 它指示与线程关联或发出该语句的用户名。
主机: 它指示发出该语句的客户端的主机名。换句话说,它是客户端连接到的主机名。
数据库: 它指示默认数据库名称。如果我们尚未选择任何数据库,它将返回NULL值。
命令: 它是线程代表客户端执行的命令的类型。如果会话处于空闲状态,它将处于睡眠模式。
时间: 它指示线程保持其当前状态的时间。
状态: 这是一个线程状态,表示操作,事件或状态,指示线程正在执行什么。需要注意的是,如果线程长时间处于当前状态,则可能存在应该研究的问题。
信息: 它包含一条语句,该语句正在由线程执行。如果线程未执行任何语句,则返回NULL值。 例如,如果一条语句执行的过程包含一个SELECT语句,则此字段显示SELECT语句。