Saltar al contenido →

Eliminar binlogs de MySql

MySQL genera unos logs de inserción que generalmente se localizan en /var/lib/mysql/ o /var/lib/mysql/private/. Estos logs ocupan espacio y pueden borrarse siempre la información haya sido replicada al servidor esclavo (en caso de mantener este tipo de configuración).

Para eliminar los logs se debe hacer desde la ejecución de consultas en la base de datos (nunca se deben eliminar desde el directorio de archivos!).

Hay 3 formas sencillas de eliminarlos:

Por nombre de archivo

shell> mysql -u username -p
mysql>PURGE BINARY LOGS TO 'binlog.000027';

Esto elimina todos los logs anteriores hasta el log «binlog.000027», incluyendo éste.

Por fecha

shell> mysql -u username -p
mysql> PURGE BINARY LOGS BEFORE '2022-07-01 00:00:00';

Elimina todos los logs con fecha de creación anterior a la otorgada.

Con el comando mysqladmin

shell> mysqladmin -u username -p flush-logs

Elimina todos los logs existentes.

Por último si por alguna razón no quieres que se registren estos binlogs, se pueden desactivar agregando esta sentencia en el archivo de configuración de mysql.

[mysqld] 
skip-log-bin

Publicado en Linux MySQL SQL