如何在MySQL中自定义`show processlist`?

可以在information_schema.processlist的帮助下自定义show processlist。在较新的MySQL版本中,可以在“ information_schema”中使用“ show processlist”命令。

在MySQL版本5.1.7中添加了“ information_schema.processlist”。首先,让我们检查MySQL版本。查询版本的查询如下-

mysql> select version();

以下是输出。

+-----------+
| version() |
+-----------+
| 8.0.12    |
+-----------+
1 row in set (0.00 sec)

现在,我们可以使用自定义的“显示进程列表”。查询如下。

mysql> SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;

以下是输出。

+----+-----------------+-----------------+----------+---------+-------+------------------------+----------------------------------------------+
| ID | USER            | HOST            | DB       | COMMAND | TIME  | STATE                  | INFO                                         |
+----+-----------------+-----------------+----------+---------+-------+------------------------+----------------------------------------------+
|  8 | root            | localhost:50599 | business | Query   |     0 | executing              | SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST |
|  9 | root            | localhost:53404 | NULL     | Sleep   |   132 |                        | NULL                                         |
|  4 | event_scheduler | localhost       | NULL     | Daemon  | 71998 | Waiting on empty queue | NULL                                         |
+----+-----------------+-----------------+----------+---------+-------+------------------------+----------------------------------------------+
3 rows in set (0.06 sec)