MySQL Bin Files Eating Lots of Disk Space

Inhalt:

Einführung

Ist für einen MySQL-Server die Replikation konfiguriert, es wurde aber kein Wert für expire_logs_days in der /etc/my.cnf Konfig-Datei eingestellt, wird sehr viel Speicherplatz durch sogenannte bin-logs belegt.

Es gibt zwei Möglichkeiten zu definieren, bis zu welchem Punkt die Binlogs glöscht werden sollen:

  1. Durch Angabe eine binlog-Dateinamens
mysql> PURGE BINARY LOGS TO 'mysql-bin.000223';
  1. Durch Angabe eine Zeitstempels
mysql> PURGE BINARY LOGS BEFORE DATE(NOW() - INTERVAL 21 DAY) + INTERVAL 0 SECOND;

In diesem Zuge bite es sich auch an, eine Begrenzung der erzeugten binlogs zu setzten:

mysql> SET GLOBAL expire_logs_days = 14;

Mit diesem Kommando begrenzt man die binlogs auf ein maximales Alter von 14 Tagen, alle binlogs die älter sind werden gelöscht.