Una de las bondades de MySQL (y también de MariaDB) es poder ir almacenando todo lo que ocure en el servidor de bases de datos, para lo que MySQL dispone de varias alternativas. Por defecto, todos los ficheros de registros son almacenados en el directorio de datos, aunque se puede forzar a que se dirijan a otras rutas desde el fichero de configuración del servidor.
Registro de errores
Se registra toda la información que indica cuando se ha iniciado y parado mysqld y también si ha ocurrido algún error crítico mientras el servidor se estaba ejecutando. Este paso resulta clave en caso de tener problemas al iniciar el servidor, para ver por dónde “puede” estar fallando.
Registro general de consultas
Se registra todas las conexiones y sentencias enviadas al servidor, que se van almacenando en un archivo, normalmente NOMBRE_SERVIDOR.log. Este registro puede ser muy útil cuando sospeche que hay un error en un cliente y quiera saber exactamente qué envió el cliente a mysqld. Eso sí, el orden en que se guardan las consultas no tiene por qué coincidir con el orden en que se ejecutan. Para renombrar este registro, debe tener parado el servidor!
Registro binario
Aquí se guardan todas las sentencias que han actualizado datos o podrían haberlo hecho (por ejemplo, un DELETE
que no encontró filas concordantes), en un formato más eficiente y de una manera que es segura para las transacciones.
El registro binario también contiene información sobre cuanto ha tardado cada sentencia que actualizó la base de datos, aunque no incluya dicha sentencia.
El propósito principal del registro binario es el de actualizar la base de datos durante una operación de recuperación tan completamente como sea posible, porque el registro binario contiene todas las actualizaciones hechas tras la copia de seguridad.
Para limpiar este registro hay que usar el comando PURGE MASTER LOGS
. , y por supuesto, evitar eliminar los logs binarios borrando directamente el archivo desde el sistema operativo, lo que puede ocasionar problemas serios!
Registro de consultas lentas (slow querys)
Se trata de un archivo que almacena todas las consultas SQL que superan un tiempo, determinado por la variable long_query_time
. Así, podrán conocerse qué consultas no están optimizadas para proceder.
Espero os sea de utilidad!