如何查看SHOW PROCESSLIST的完整查询

Gho*_*der 273 mysql

当我发出SHOW PROCESSLIST查询时,在info列中只返回正在运行的SQL查询的前100个字符.

是否可以更改Mysql配置或发出不同类型的请求以查看完整查询(我正在查看的查询超过100个字符)

Jam*_*lis 449

SHOW FULL PROCESSLIST
Run Code Online (Sandbox Code Playgroud)

如果您不使用FULL,"只有每个语句的前100个字符显示在Info字段中".

使用phpMyAdmin时,还应单击"全文"选项(结果表左上角的"←T→")以查看未截断的结果.

  • 似乎phpmyadmin并不关心这一点,仍然显示截断的信息. (3认同)
  • 即使使用`SHOW FULL PROCESSLIST`,我也会看到查询在一定长度后被截断.我可以以某种方式使它更加饱满吗? (2认同)

小智 75

显示Processlist从另一个表中获取信息.以下是如何提取数据并查看包含整个查询的"INFO"列:

select * from INFORMATION_SCHEMA.PROCESSLIST where db = 'somedb';
Run Code Online (Sandbox Code Playgroud)

您可以根据您的要求添加任何条件或忽略.

查询的输出结果如下:

+-------+------+-----------------+--------+---------+------+-----------+----------------------------------------------------------+
| ID    | USER | HOST            | DB     | COMMAND | TIME | STATE     | INFO                                                     |
+-------+------+-----------------+--------+---------+------+-----------+----------------------------------------------------------+
|     5 | ssss | localhost:41060 | somedb | Sleep   |    3 |           | NULL                                                     |
| 58169 | root | localhost       | somedb | Query   |    0 | executing | select * from sometable where tblColumnName = 'someName' |
Run Code Online (Sandbox Code Playgroud)

  • 这可能是最有用的答案. (10认同)

har*_*der 12

我刚读了MySQL文档,SHOW FULL PROCESSLIST默认情况下只列出当前用户连接的线程.

引用MySQL SHOW FULL PROCESSLIST文档:

如果您具有PROCESS权限,则可以查看所有线程.

因此,您可以Process_privmysql.user表格中启用该列.记得FLUSH PRIVILEGES事后再执行:)


Has*_*mal 8

查看完整的查询从SHOW PROCESSLIST:

SHOW FULL PROCESSLIST;
Run Code Online (Sandbox Code Playgroud)

要么

 SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;
Run Code Online (Sandbox Code Playgroud)


cri*_*oms 8

唯一的坏处show [full] processlist是您无法过滤输出结果。另一方面,发出SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST开放的可能性从输出中删除您不希望看到的任何内容:

SELECT * from INFORMATION_SCHEMA.PROCESSLIST
WHERE DB = 'somedatabase'
AND COMMAND <> 'Sleep'
AND HOST NOT LIKE '10.164.25.133%' \G
Run Code Online (Sandbox Code Playgroud)


rya*_*lli 7

SHOW FULL PROCESSLIST
Run Code Online (Sandbox Code Playgroud)

这显示了包含更多信息的完整进程列表。