Answers:
SHOW FULL PROCESSLIST
如果不使用FULL
,则“该Info
字段中仅显示每个语句的前100个字符”。
使用phpMyAdmin时,还应该单击“全文”选项(结果表左上角的“←T→”)以查看未删节的结果。
SHOW FULL PROCESSLIST
。我能以某种方式使其更饱满吗?
SHOW FULL PROCESSLIST
需要使用分号;
吗?
Show Processlist从另一个表中获取信息。这是获取数据并查看包含整个查询的“ INFO”列的方法:
select * from INFORMATION_SCHEMA.PROCESSLIST where db = 'somedb';
您可以根据需要添加任何条件或忽略。
查询的输出结果为:
+-------+------+-----------------+--------+---------+------+-----------+----------------------------------------------------------+
| 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' |
COMMIT
。您知道如何查看有关实际查询的更多详细信息吗?
查看SHOW PROCESSLIST的完整查询:
SHOW FULL PROCESSLIST;
要么
SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;
如果要在shell会话上继续获取更新的进程(在示例中为2秒),而不必手动与之交互,请使用:
watch -n 2 'mysql -h 127.0.0.1 -P 3306 -u some_user -psome_pass some_database -e "show full processlist;"'
唯一的坏处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