En MySQL 8, la configuración del tiempo de rotación de los logs binarios se controla mediante la variable binlog_expire_logs_seconds
. Este parámetro define el tiempo, en segundos, que los bin logs (archivos de registro binario) permanecen almacenados antes de ser eliminados automáticamente.
A continuación, se detalla cómo cambiar esta configuración entrando primero dentro de la CLI de MySql:mysql -u root -p
1. Verificar el valor actual de caducidad
Conéctate al servidor MySQL y ejecuta el siguiente comando para consultar el valor actual de binlog_expire_logs_seconds
:
SHOW VARIABLES LIKE 'binlog_expire_logs_seconds';
Ejemplo de salida:
+----------------------------+---------+
| Variable_name | Value |
+----------------------------+---------+
| binlog_expire_logs_seconds | 2592000 |
+----------------------------+---------+
En este caso, el valor predeterminado es 2592000
segundos (equivalente a 30 días).
2. Cambiar el valor de caducidad temporalmente
Si deseas cambiar el valor temporalmente (sin modificar la configuración permanente), utiliza el siguiente comando:
SET GLOBAL binlog_expire_logs_seconds = 1296000;
Esto establece la caducidad en 1296000
segundos (15 días).
Ejemplo de salida:
Query OK, 0 rows affected (0.00 sec)
3. Verificar el cambio
Confirma que el nuevo valor se ha aplicado correctamente ejecutando de nuevo:
SHOW VARIABLES LIKE 'binlog_expire_logs_seconds';
Ejemplo de salida:
+----------------------------+---------+
| Variable_name | Value |
+----------------------------+---------+
| binlog_expire_logs_seconds | 1296000 |
+----------------------------+---------+
4. Configurar el cambio de manera permanente
Para que el cambio persista después de reiniciar el servidor, debes modificar el archivo de configuración de MySQL. Sigue estos pasos:
- Abre el archivo de configuración de MySQL:
En la mayoría de los sistemas Linux, el archivo se encuentra en:/etc/mysql/mysql.conf.d/mysqld.cnf
- Agrega o edita la opción correspondiente en la sección
[mysqld]
:
Añade la siguiente línea:binlog_expire_logs_seconds=1296000
- Guarda los cambios y reinicia MySQL:
Ejecuta el siguiente comando para reiniciar el servicio:sudo service mysql restart
- Verifica el valor actualizado:
Después del reinicio, confirma que el nuevo valor persista ejecutando:SHOW VARIABLES LIKE 'binlog_expire_logs_seconds';
Consideraciones finales
- Cambiar la caducidad de los archivos binarios puede ayudar a gestionar mejor el uso de disco.
- Ajusta este valor según tus necesidades, considerando el balance entre la disponibilidad de registros para replicación y el espacio de almacenamiento.
- En sistemas de producción, asegúrate de realizar este cambio fuera de horas de mayor actividad para evitar posibles interrupciones.