•
Rotar logs de MySQL
Para evitar tener logs de MySQL intratables por su tamaño debemos rotarlos periódicamente. Vamos a ver como hacerlo sin tener que reiniciar el MySQL.
Para ello primero de todos debemos saber donde se encuentran los logs. Normalmente se encuentran en el datadir:
# ps -fea | grep [m]ysqld | sed 's/^.*datadir=//' | sed 's/ .*//' /var/mysql/datadir
En ese directorio veremos los ficheros mysql.log y mysql-slow.log (en el caso que lo tengamos habilitado). Para realizar la rotación haremos lo siguiente:
# cd /var/mysql/datadir # mv mysql.log mysql.$(date +%d%m%Y) # mv mysql-slow.log mysql-slow.$(date +%d%m%Y) # mysqladmin -u root -pcontrasena flush-logs
Una vez realizado el flush-logs se crearán los ficheros de log tal como los teniamos y se guardarán allí los nuevos mensajes, quedando los antiguos en el fichero renombrado con la fecha.
A continuación podemos comprimirlos para ahorrar espacio.
Relacionados
Imprimir
•
One comment to “Rotar logs de MySQL”
•
25. February 2009 at 10:44 pm :
Algo obligado también es si tienes binary-logs es un límite de crecimiento de los ficheros.
Ojo: al hacer esto se rompe una de las características de esos logs que es evitar la pérdida de información, pero no hacerlo y permitir que el filesystem se lleva a una perdida de información segura.
Sobre todo una buena política de backups por lo que yo se lo haría en completos una vez a la semana o més y el resto incrementales en función de los binary-logs generados.