GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo habilitar el registro de consultas de MySQL/MariaDB

En esta guía breve y fácil de seguir, explicamos cómo habilitar el registro de consultas de MySQL/MariaDB y guardar consultas en un archivo.

Cuando se usa una base de datos, a menudo sucede que los desarrolladores quieren saber qué sucede detrás de escena. Ya sea para solucionar problemas, ajustar el rendimiento o por pura curiosidad.

Los registros de consultas generales siguen siendo una de las fuentes más populares de información de auditoría y diagnóstico en las bases de datos MySQL/MariaDB. Después de habilitar el registro, el servidor de la base de datos escribirá información en el archivo de registro cuando los clientes se conecten o desconecten, y registrará cada instrucción SQL.

Sin embargo, tenga en cuenta que habilitar el registro de consultas general afecta el rendimiento de MySQL/MariaDB. Esto disminuirá el rendimiento en aproximadamente un 13 % y aumentará el tiempo de respuesta del servidor MySQL/MariaDB en aproximadamente un 17 %.

Entonces, sin más preámbulos, comencemos ya que el proceso es bastante sencillo.

Habilitar el registro de consultas generales de MySQL/MariaDB

En MySQL/MariaDB, el registro general de consultas está deshabilitado de forma predeterminada.

1. Ingrese a la herramienta de línea de comandos del servidor MySQL/MariaDB como root:

mysql -u root -p

2. Establezca la ruta del archivo de registro general en /var/logs/mysql/general-query.log ejecutando la siguiente consulta.

SET GLOBAL general_log_file='/var/log/mysql/general-query.log';

De forma predeterminada, el registro de consultas general se escribe en el mismo directorio de datos que contiene los subdirectorios de la base de datos (normalmente /var/lib/mysql ) y el nombre del archivo de registro predeterminado es el nombre de host. Sin embargo, como puede ver, esto se puede cambiar.

3. Habilite el registro general del servidor:

SET GLOBAL general_log = 1;

Verifiquemos nuevamente el estado general del registro de consultas de MySQL/MariaDB:

SHOW VARIABLES LIKE "general_log%";

Eso es todo. A partir de aquí puedes hacer algo similar a sudo tail -f en el general-query.log archivo desde la línea de comandos y mantener un ojo en las cosas.

Una vez que haya terminado con su inspección, puede deshabilitar el registro de consultas de MySQL/MariaDB de la siguiente manera:

SET GLOBAL general_log = 0;

Ciertamente no es deseable haber activado el inicio de sesión en un servidor de producción. Así que tenga cuidado con esto, el archivo de registro puede volverse grande bastante rápido.

Si no desea ejecutar consultas directamente, aún puede habilitar el registro de consultas de MySQL/MariaDB modificando directamente el archivo de configuración de MySQL/MariaDB, pero tenga en cuenta que este enfoque requiere reiniciar el servidor de la base de datos.

Conclusión

El registro de consultas general de MySQL/MariaDB puede ser muy útil cuando sospecha un error en un cliente y desea saber exactamente qué envió el cliente a la base de datos. Entonces, si tiene algún error o problema con la base de datos, una de las formas de rastrear el problema es activar este registro y verificar qué está sucediendo.

Puede obtener más información sobre cómo habilitar el registro de consultas general de MySQL/MariaDB aquí y aquí.


Linux
  1. Cómo restablecer la contraseña raíz de MySQL o MariaDB

  2. ¿Dónde está el registro cron / crontab? / ¿Cómo habilitar el Cron Log?

  3. Cómo habilitar el registro de consultas lentas para MySQL

  4. ¿Cómo habilitar el registro de consultas de Mysql (ver todas las consultas de Sql a medida que vienen)?

  5. Cómo reemplazar MySQL con MariaDB en CentOS 6

Cómo exportar resultados de consultas MySQL a formato CSV en Linux

¿Cómo iniciar sesión como raíz en Mysql?

Cómo instalar MySQL/MariaDB en Debian 11

Cómo cambiar/restablecer la contraseña raíz de MySQL o MariaDB

¿Cómo habilitar el inicio de sesión extendido en Exim?

Cómo crear una configuración Rsyslog de registro centralizado