Limpieza y rotaci贸n del slow-query-logs

cleanupYa hablamos de c贸mo limpiar de forma segura el error-log de MySQL. Otro fichero de logs que puede dar problemas, si lo tenemos activado, es el slow_query_log, que se encarga de almacenar las queries que se han ejecutado sin 铆ndices, o que han tardado m谩s de determinados segundos en ejecutarse. Este fichero, por tanto, nos deber铆a servir para identificar puntos de mejora en nuestras queries, pero si tenemos mucho que mejorar, se llenar谩 r谩pidamente. En mysqlperformanceblog explican c贸mo crear un script para uso de logrotate para limpiar de forma autom谩tica este log de forma periodica, y evitar as铆 problemas mayores.

Primero, crearemos el script de rotaci贸n, cogido directamente de mysqlperformanceblog:

[root@myserver]# vi /etc/logrotate.d/mysql-slow

/var/lib/mysql/mysql-slow.log {
nocompress
create 660 mysql mysql
size 1G
dateext
missingok
notifempty
sharedscripts
postrotate
/usr/bin/mysql -u logrotate -pmipassword -e ‘select @@global.long_query_time into @lqt_save; set global long_query_time=2000; select sleep(2); FLUSH SLOW LOGS; select sleep(2); set global long_query_time=@lqt_save;’
endscript
rotate 5
}

Se ha de tener en cuenta, que en la instrucci贸n de postrotate, necesitaremos a帽adir el usuario y password de acceso al mysql para poder ejecutar esas consultas. Tambi茅n se deber谩 indicar la ruta al fichero del slow-log en la primera instrucci贸n (marcado en negrita).

Continuar leyendo 芦Limpieza y rotaci贸n del slow-query-logs禄