Gigastur

Servicios informáticos

615 654 407
info@gigastur.com

  • Inicio
  • Servicios
    • Asistencia a domicilio
    • Reparación de ordenadores
    • Mantenimiento para empresas
    • Diseño web y hosting
  • Precios
    • Mantenimiento para empresas
    • Diseño web
    • Asistencia a domicilio
    • Reparaciones en tienda
    • Bonos de mantenimiento
    • Alojamiento web
  • Trabajos realizados
  • Contacto
  • Blog
    • Comandos Linux
    • Comandos Windows
    • MySQL
    • Laravel
    • Steam
    • Herramientas Sysadmin
    • Recursos webmaster
  • Control remoto

Activar log de mysql en Linux

09/02/2018 por Igor García Deja un comentario

Pulsa aquí si quieres saber como activar el log de MySQL en Windows con WAMP.

Vamos a activar el log de MySQL en un servidor Linux, concretamente en Ubuntu 16.04, para que queden registradas todas las consultas realizadas a las bases de datos en un archivo.

Contenidos

  • 1 Activar log MySQL de forma permanente
  • 2 Activar log MySQL sin reiniciar (no permanente)
  • 3 Zona horaria de los logs
  • 4 Modificar tiempo de guardado de logs

Activar log MySQL de forma permanente

Para activar el log de MySQL de manera que siga activado tras reiniciar el servidor, debemos hacerlo editando el fichero de configuración de la MySQL:

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

En versiones anteriores el fichero puede ser /etc/mysql/my.cnf.

Buscaremos las siguientes líneas:

#general_log_file = /var/log/mysql/mysql.log
#general_log = 1

Y las descomentamos, borrando el # del principio.

Podemos cambiar la ruta y nombre del fichero de log en general_log_file, (si no indica ninguna ruta, sólo el nombre del fichero, lo guardará en /var/lib/mysql) pero si dejamos esa que viene por defecto, el sistema se encargará automaticamente de comprimirlo cada 24 horas y guardar una copia, que se borrará, por defecto, cada 7 días. Esto es muy importante porque el fichero puede llegar a ocupar mucho espacio en disco. Veremos más adelante como modificar este comportamiento.

Para que estos cambios surtan efecto debemos reiniciar el servicio de MySQL:

sudo /etc/init.d/mysql restart

Si queremos activar el log de MySQL sin necesidad de reiniciar el servicio, cosa importante si estamos en un entorno de producción, podemos hacerlo mediante las variables de sistema de MySQL.

Activar log MySQL sin reiniciar (no permanente)

Accedemos al cliente de MySQL:

mysql -u root -p

Mostramos las variables relacionadas con el log:

show variables like 'general_log%';

+------------------+--------------------------+
| Variable_name | Value |
+------------------+--------------------------+
| general_log | OFF |
| general_log_file | /var/log/mysql/mysql.log |
+------------------+--------------------------+
2 rows in set (0.00 sec)

Activamos con esta consulta:
set global general_log=1;

Si general_log_file indica sólo un nombre de archivo, sin ninguna ruta, el log se guardará en /var/lib/mysql/

A tener en cuenta, que de esta manera el log se desactivará al reiniciar el servidor, por lo que puede ser útil para usar de manera puntual.

Si necesitamos activar el log de manera permanente sin tener que reiniciar la MySQL, podemos activarlo primero con las variables de sistema y luego en el fichero de configuración.

Zona horaria de los logs

En los logs, queda registrada la hora en la que se realizó cada consulta. En nuestras pruebas, aparecía 1 hora de retraso porque, por defecto, MySQL utiliza para los logs la hora UTC y en España usamos UTC+1.

Para cambiar esto, le diremos a MySQL que utilice la hora del sistema con la variable log_timestamps:

mysql -u root -p

Comprobamos su valor actual:
show global variables like 'log_timestamps';

Lo cambiamos a system
SET GLOBAL log_timestamps = 'SYSTEM';

Para hacer el cambio de hora permanente, añadimos en /etc/mysql/mysql.conf.d/mysqld.cnf:
log_timestamps = SYSTEM

Modificar tiempo de guardado de logs

Como hemos dicho anteriormente, al guardar los logs en /var/log se comprimen automaticamente cada 24 horas y se eliminan los que tienen más de 7 días. Esto es posible gracias a logrotate.

Vamos a ver como configurar logrotate para que guarde los ficheros durante más tiempo.

Debemos editar el archivo /etc/logrotate.d/mysql-server, que en nuestro caso tiene este contenido:

daily
rotate 7
missingok
create 640 mysql adm
compress
sharedscripts
postrotate
test -x /usr/bin/mysqladmin || exit 0
# If this fails, check debian.conf!
MYADMIN="/usr/bin/mysqladmin --defaults-file=/etc/mysql/debian.cnf"
if [ -z "`$MYADMIN ping 2>/dev/null`" ]; then
# Really no mysqld or rather a missing debian-sys-maint user?
# If this occurs and is not a error please report a bug.
#if ps cax | grep -q mysqld; then
if killall -q -s0 -umysql mysqld; then
exit 1
fi
else
$MYADMIN flush-logs
fi
endscript
}

Vamos a fijarnos en estos dos parámetros:

  • daily: por defecto crea un nuevo fichero de log diariamente. Podemos usar también weekly, monthly o yearly
  • rotate: indica cuantos ficheros guardará antes de borrar los anteriores. En este caso guardará los 7 últimos.

Así, la configuración por defecto, daily - rotate 7, guarda los logs de los últimos 7 días, 1 log cada día. Si ponemos, por ejemplo, weekly - rotate 52, tendremos los logs del último año, divididos entre 52 logs que guarda cada uno información semanal.

Fuente: MySQL Reference Manual: The General Query Log

Más info: systemadmin

Categorías: Base de datos, Linux Etiquetas: Linux, log, logrotate, mysql

Deja una respuesta Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Categorías

Enlaces

  • Abode PDF Reader
  • Actualizar a Windows 10
  • Anti Ransomware
  • Aviso de cookies
  • Browser Diet
  • Buenas practicas Ransomware
  • BuiltWith
  • cdlibre
  • Chocolatey
  • CIDR Calculator
  • Consulta numero móvil
  • Cual es mi IP
  • Descarga de DLL
  • Descarga de OCX
  • Descarga de RPM
  • Descarga de Windows y Office
  • Descarga de Windows y Office
  • DistroTest
  • Dumo
  • explainshell
  • File-extensions
  • FileHippo
  • Flash Player
  • Geolocalización Multi IP
  • HDDScan
  • htaccesstools
  • Ip Location
  • Kaspersky
  • LinuxServer.io
  • Máquinas Virtuales OSBoxes
  • Microsoft Doc
  • ms-vnext: Windows y Office
  • Ninite
  • Nirsoft
  • Open Source Alternatives
  • Patch My PC
  • PC decrapifier
  • PCI Lookup
  • PCI-IDS
  • pcidatabase
  • PCIids
  • Port Listener
  • Portable Freeware
  • Router Passwords
  • Saber tipografía de una foto
  • Shodan
  • Ssega
  • Sumo
  • Sysinternals
  • SystemRescueCd
  • Test de velocidad
  • The eye
  • Virustotal
  • Windows ISO
  • Windows Mini
  • WizTree
  • You Get Signal

Contacto

  • 615 654 407
  • info@gigastur.com

Entradas recientes

  • Crear archivos de diferentes tamaños para pruebas (dummy files) en Linux
  • Fping: Ping mejorado para Linux
  • Programas para facilitar la instalación y actualización de software en Windows
  • Outlook: acceder a la configuración avanzada de correo
  • Backups: Borg VS Restic

Control remoto

  • Control remoto Windows
  • Control remoto MAC
  • Versión completa Windows
  • Servicio Windows
  • Control remoto XP
  • Servicio XP

Aviso legal | Política de privacidad | Política de cookies

Utilizamos cookies para ofrecerte la mejor experiencia en nuestra web.

Puedes aprender más sobre qué cookies utilizamos o desactivarlas en los ajustes.

Gigastur
Powered by  GDPR Cookie Compliance
Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.

Cookies estrictamente necesarias

Las cookies estrictamente necesarias tiene que activarse siempre para que podamos guardar tus preferencias de ajustes de cookies.

Si desactivas esta cookie no podremos guardar tus preferencias. Esto significa que cada vez que visites esta web tendrás que activar o desactivar las cookies de nuevo.

Cookies de terceros

Esta web utiliza Google Analytics para recopilar información anónima tal como el número de visitantes del sitio, o las páginas más populares.

Dejar esta cookie activa nos permite mejorar nuestra web.

¡Por favor, activa primero las cookies estrictamente necesarias para que podamos guardar tus preferencias!