Logear todas las queries en MySQL

Si quieres gardar un registro de absolutamente todas las queries que se hagan a tu base de datos MySQL independientemente de quién las haga o a qué base de datos o tabla, solo tienes que activar la variable global correspondiente.

1. Comprueba que si está ya activa o no:

Si ejecutas el comando SHOW VARIABLES LIKE "general_log%"; dentro de MySQL como administrador, deberías ver algo parecido a esto: 


+------------------+--------------------------------------+ 
Variable_name    | Value                                   | 
+------------------+--------------------------------------+ 
general_log      | OFF                                        | 
general_log_file | /var/run/mysqld/mysqld.log  | 

+------------------+--------------------------------------+

que básicamente nos dice que la variable general_log está desactivada, y que por tanto en el archivo al que apunta la variable general_log_file no se está guardando ningún registro. 


2. Activa el general log


Simplemente ejecuta este comando: SET GLOBAL general_log = 'ON';

3. No te olvides de desactivarlo

Aunque lo podemos dejar activo sin problema, debemos tener en cuenta que hacerlo va a suponer una reducción en el rendimiento de nuestra base de datos, por lo que después de debuggear lo que quiciésemos, simplemente ejecutamos: SET GLOBAL general_log = 'OFF';

Comentarios

Entradas populares de este blog

De Laravel a Node.js: Routing y Middleware