Как просмотреть полный запрос из Show PROCESSLIST
когда я выдаю запрос SHOW PROCESSLIST, в столбце info возвращаются только первые 100 символов запущенного SQL-запроса.
можно ли изменить конфигурацию Mysql или выдать другой вид запроса, чтобы увидеть полный запрос (запросы, которые я смотрю, длиннее 100 символов)
5 ответов
SHOW FULL PROCESSLIST
Если вы не используете FULL
, " только первые 100 символов каждого оператора показаны в
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' |
Я только что прочитал в документация MySQL это SHOW FULL PROCESSLIST
по умолчанию перечислены только потоки из вашего текущего подключения пользователя.
цитата из MySQL показывает полную документацию PROCESSLIST:
если у вас есть привилегия процесса, вы можете видеть все потоки.
таким образом, вы можете включить в своем mysql.user
таблица. Не забудьте выполнить FLUSH PRIVILEGES
позже :)
единственное плохое в 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
см. полный запрос из списка процессов SHOW:
- ПОКАЗАТЬ ПОЛНЫЙ СПИСОК ПРОЦЕССОВ;
или
- ВЫБЕРИТЕ * ИЗ INFORMATION_SCHEMA.PROCESSLIST;