
Cuando se trabaja con MySQL puede ser que en ocasiones ciertas consultas puedan llegar a ser grandes, devolver un gran número de registros e incluso consumir un alto porcentaje de ciclos de procesado.
De la misma forma, si estamos accediendo al servidor de bases de datos a través de algún tipo de aplicación de escritorio o web, quizás necesitemos revisar el registro de las posibles consultas que se han podido realizar, por lo que es buena idea activar el registro de estas consultas en un archivo log, el cual debe configurarse en el archivo de configuración de MySQL, my.cnf.
Pero si lo que queremos es ver, en tiempo real, las consultas que se están ejecutando sobre nuestra base de datos, así como los usuarios con los que se están realizando las conexiones a la misma, podemos hacer uso de la consulta propia de MySQL siguiente:
1 | mysql > show processlist; |
la cual mostrará algo parecido a lo siguiente:
1 2 3 4 5 6 | +-------+------------+-----------+-------+---------+------+----------------+------------------------+ | Id | User | Host | db | Command | Time | State | Info | +-------+------------+-----------+-------+---------+------+----------------+------------------------+ | 67095 | root | localhost | NULL | Query | 0 | starting | show processlist | | 67112 | usuario_db | localhost | mi_bd | Query | 0 | Sorting result | SELECT * FROM mi_tabla | +-------+------------+-----------+-------+---------+------+----------------+------------------------+ |
Como puedes ver, esta consulta mostrará el usuario, host y base de datos a la que se está realizando la conexión, así como la consulta SQL que se está ejecutando.
Dependiendo de los permisos que tenga el usuario desde el que estás ejecutando dicha consulta o comando, se mostrarán todos los procesos de todos los usuarios en caso de tener permisos totales, o solamente del usuario en cuestión, en caso de tener acotados los mismos.
