当我发出SHOW PROCESSLIST查询时,在info列中只返回正在运行的SQL查询的前100个字符.
是否可以更改Mysql配置或发出不同类型的请求以查看完整查询(我正在查看的查询超过100个字符)
Jam*_*lis 449
SHOW FULL PROCESSLIST
Run Code Online (Sandbox Code Playgroud)
如果您不使用FULL,"只有每个语句的前100个字符显示在Info字段中".
使用phpMyAdmin时,还应单击"全文"选项(结果表左上角的"←T→")以查看未截断的结果.
小智 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)
查看完整的查询从SHOW PROCESSLIST:
SHOW FULL PROCESSLIST;
Run Code Online (Sandbox Code Playgroud)
要么
SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;
Run Code Online (Sandbox Code Playgroud)
唯一的坏处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)
| 归档时间: |
|
| 查看次数: |
280147 次 |
| 最近记录: |