1. AUTOMATIZACION DE LA ROTACION DE LOS LOGS DE MYSQL
Cuando se rotan ficheros de log de Mysql hay que tener en cuenta que debemos ordenar a mysqld que cierre
y reabra los archivos de registro (ficheros de log) mediante el volcado de registros, porque sino sigue
escribiendo en el log antiguo. El volcado de registros ocurre cuando ejecuta la sentencia FLUSH LOGS o el
comando mysqladmin flush-logs o mysqladmin refresh.
Como queremos que se haga de forma automática mediante el proceso de rotación de la máquina, tenemos
que crear un usuario de Mysql con los permisos necesarios para que pueda hacer el flush-logs e incluir dicha
orden en el fichero de rotación:
1.- Creamos el usuario con permisos para ejecutar flush-logs:
mysql> grant all privileges on *.* to usuario_rotacion_logs@localhost identified by 'password_usuario';
mysql> flush privileges;
2.- Creamos el fichero de rotación para los logs de Mysql en el servidor correspondiente:
[root@servidor ~]# vi /etc/logrotate.d/mysqld
/var/log/mysql/mysql-slow.log /var/log/mysql/mysqld.log {
rotate 10
compress
missingok
notifempty
sharedscripts
create 660 mysql mysql
postrotate
/usr/bin/mysqladmin -uusuario_rotacion_logs -ppassword_usuario flush-logs
endscript
}
3.- Lanzamos el ejecutable para que los rote por primera vez:
[root@servidor ~]# /usr/sbin/logrotate /etc/logrotate.conf