jueves, 7 de febrero de 2013

Monitor Consultas, Queries o SQL en MySQL

Ahora le toca el turno a MySQL esta vez, lo que necesitaba era monitorear todas las instrucciones MySQL para detectar un problema que tenía con una consulta, query, sql o como gustes llamarlo, bien para poder monitorear una de las tantas formas de hacerlo es utilizando el GQL (General Query Log).

Por lo general el GQL viene desactivado por lo que para activarlo se debe iniciar MySQL con la consola, y posteriormente para saber si lo tenemos activado o no utiliamos el siguiente comando:
mysql> SHOW VARIABLES LIKE "general_log%";

+------------------+----------------------------+
| Variable_name    | Value                      |
+------------------+----------------------------+
| general_log      | OFF                        |
| general_log_file | /var/run/mysqld/mysqld.log |
+------------------+----------------------------+
Con lo anterior podemos ver de entrada en donde esta configurado que estará el archivo y por otro lado si esta activado o no, como no esta activado entonces debemos activarlo primero:
mysql> SET GLOBAL general_log = 'ON';
Cuando ya no necesitemos estar almacenando estos datos ya que este archivo puede crecer indefinidamente utilizamos el comando:
mysql> SET GLOBAL general_log = 'OFF';
Para ver el contenido de la consola podemos utilizar el comando ya fuera de mysql:
$ sudo cat /var/run/mysqld/mysqld.log
En mi caso tuve que utilizar sudo por los permisos. Una vez ejecutado podía ver las consultas que se estaban ejecutando.


Espero te haya sido de utilidad !


Fuentes:
http://stackoverflow.com/questions/568564/how-can-i-view-live-mysql-queries
http://dev.mysql.com/doc/refman/5.1/en/query-log.html

No hay comentarios:

Publicar un comentario