Cómo ver la consulta completa desde SHOW PROCESSLIST


Cuando emito SHOW PROCESSLIST query, solo se devuelven los primeros 100 caracteres de la consulta SQL en ejecución en la columna info.

¿Es posible cambiar la configuración de Mysql o emitir un tipo diferente de solicitud para ver la consulta completa (las consultas que estoy viendo tienen más de 100 caracteres)

 215
Author: Ghostrider, 2010-09-03

5 answers

SHOW FULL PROCESSLIST

Si no usa FULL, "solo los primeros 100 caracteres de cada instrucción se muestran en el campo Info".

Al usar phpMyAdmin, también debe hacer clic en la opción "Textos completos" ("←T →" en la esquina superior izquierda de una tabla de resultados) para ver resultados no funcionados.

 369
Author: James McNellis,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-06-25 16:43:23

Show Processlist obtiene la información de otra tabla. Aquí está cómo puede extraer los datos y mirar la columna ' INFO 'que contiene toda la consulta:

select * from INFORMATION_SCHEMA.PROCESSLIST where db = 'somedb';

Puede agregar cualquier condición o ignorar según sus requisitos.

El resultado de la consulta es :

+-------+------+-----------------+--------+---------+------+-----------+----------------------------------------------------------+
| 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' |
 47
Author: Yogesh Sakurikar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-10-13 09:57:23

Acabo de leer en la documentación de MySQL que SHOW FULL PROCESSLIST por defecto solo enumera los hilos de su conexión de usuario actual.

Cita de la documentación de MySQL SHOW FULL PROCESSLIST:

Si tiene el privilegio de PROCESO, puede ver todos los subprocesos.

Para que pueda habilitar la columna Process_priv en su tabla mysql.user. Recuerda ejecutar FLUSH PRIVILEGES después:)

 10
Author: hardcoder,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-03-14 14:11:59

Lo único malo de show [full] processlist es que no se puede filtrar el resultado de salida. Por otro lado, la emisión del SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST abre posibilidades para eliminar de la salida cualquier cosa que no quieras ver:

SELECT * from INFORMATION_SCHEMA.PROCESSLIST
WHERE DB = 'somedatabase'
AND COMMAND <> 'Sleep'
AND HOST NOT LIKE '10.164.25.133%' \G
 3
Author: cristianoms,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-06-21 17:53:58

Consulte la consulta completa desde SHOW PROCESSLIST:

  • MOSTRAR LISTA DE PROCESOS COMPLETA;

O

  • SELECCIONE * DE INFORMATION_SCHEMA.PROCESSLIST;
 1
Author: Hasib Kamal,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-09-22 07:13:29