Habilitar y revisar el registro general de consultas
El registro general de consultas (general query log) registra cada sentencia SQL recibida de los clientes. Es una herramienta invaluable para la depuración y la auditoría, pero debe usarse temporalmente, ya que puede afectar el rendimiento y consumir una cantidad significativa de espacio en disco. En este paso, habilitará el registro, generará algo de actividad y revisará el archivo de registro.
Primero, abra la terminal desde su escritorio.
Conéctese al servidor MySQL como usuario root. En este entorno de laboratorio, puede usar sudo para conectarse sin contraseña.
sudo mysql -u root
Una vez que vea el prompt mysql>, habilite el registro general de consultas globalmente.
SET GLOBAL general_log = 'ON';
Por defecto, el archivo de registro se almacena en el directorio de datos de MySQL. Para un acceso más fácil, cambiemos su ubicación al directorio /tmp.
SET GLOBAL general_log_file = '/tmp/mysql_general.log';
Puede verificar la nueva ubicación ejecutando:
SHOW VARIABLES LIKE 'general_log_file';
La salida debería confirmar la ruta que acaba de establecer.
+------------------+-------------------------+
| Variable_name | Value |
+------------------+-------------------------+
| general_log_file | /tmp/mysql_general.log |
+------------------+-------------------------+
1 row in set (0.01 sec)
Ahora, ejecute algunos comandos para generar entradas en el registro.
CREATE DATABASE IF NOT EXISTS testdb;
USE testdb;
SELECT 'Logging this query' AS message;
Después de ejecutar estos comandos, salga del shell de MySQL.
exit
De vuelta en su terminal, vea el contenido del archivo de registro.
sudo cat /tmp/mysql_general.log
Verá los comandos que ejecutó, junto con información de conexión y marcas de tiempo. Esto confirma que el registro general de consultas está funcionando correctamente.
/usr/sbin/mariadbd, Version: 10.6.18-MariaDB-0ubuntu0.22.04.1 (Ubuntu 22.04). started with:
Tcp port: 3306 Unix socket: /run/mysqld/mysqld.sock
Time Id Command Argument
250728 14:12:46 33 Query SHOW VARIABLES LIKE 'general_log_file'
250728 14:12:50 33 Query CREATE DATABASE IF NOT EXISTS testdb
33 Query SELECT DATABASE()
33 Init DB testdb
33 Query show databases
33 Query show tables
33 Query SELECT 'Logging this query' AS message
250728 14:12:56 33 Quit
Finalmente, es una buena práctica deshabilitar el registro cuando haya terminado. Puede hacerlo directamente desde la terminal.
sudo mysql -u root -e "SET GLOBAL general_log = 'OFF';"
Esto asegura que el registro no continúe creciendo y afectando el rendimiento del servidor.