Как просмотреть полный запрос из SHOW PROCESSLIST
Когда я выдаю запрос SHOW PROCESSLIST, в столбце info возвращаются только первые 100 символов запущенного SQL-запроса.
Можно ли изменить конфигурацию Mysql или выдать другой запрос для просмотра полного запроса (запросы, которые я ищу, длиннее 100 символов)
Ответы
Ответ 1
SHOW FULL PROCESSLIST
Если вы не используете FULL
, , только первые 100 символов каждого оператора отображаются в поле Info
.
При использовании phpMyAdmin вы также должны нажать кнопку "Полные тексты" ( "← T →" в верхнем левом углу таблицы результатов), чтобы увидеть неиспользованные результаты.
Ответ 2
Показать список процессов извлекает информацию из другой таблицы. Вот как вы можете вытащить данные и посмотреть столбец "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' |
Ответ 3
Я только что прочитал в документации MySQL, что SHOW FULL PROCESSLIST
по умолчанию только перечисляет потоки из вашего текущего пользовательского соединения.
Цитата из документации MySQL SHOW FULL PROCESSLIST:
Если у вас есть привилегия PROCESS, вы можете видеть все потоки.
Итак, вы можете включить столбец Process_priv
в таблице mysql.user
. Не забудьте выполнить FLUSH PRIVILEGES
впоследствии:)
Ответ 4
это решение работало для меня:
- открыть терминал и войти на сервер mysql
- открыть новый терминал и перезапустить службу mysqld (не закрывать первый терминал)
- при первом запуске терминала "ведомый останов"
- при первом запуске терминала "запуск подчиненного устройства"
- вы увидите, что slave/master начнет работать нормально, без ошибок.