Wie Du die Binary Logs Deiner MySQL Datenbank löschen und zeitlich begrenzen kannst
MySQL loggt Änderungen im Datenbestand. Dieses nützliche Feature ermöglicht es Dir, Datenveränderungen über einen langen Zeitraum hinweg zu analysieren und zurück zu verfolgen. Es sorgt bei großen Projekten aber auch dafür, dass die Festplatte sich stark füllt.
Die Logs können dabei über einen Eintrag in der mysql.cnf auf eine bestimmte Laufzeit begrenzt werden:
Um die Zeit der Speicherung auf Logs der letzten 7 Tage zu begrenzen, könnt Ihr folgende Query ausführen:
mysql> SET GLOBAL expire_logs_days = 7;
Alternativ könnt Ihr dies auch direkt in der /etc/my.cnf eintragen:
mysql>[mysqld]
expire_logs_days=7
Sämtliche Logs die älter als 7 Tage sind, kannst Du in MySQL über folgende Query entfernen.
PURGE BINARY LOGS BEFORE DATE(NOW() - INTERVAL 7 DAY) + INTERVAL 0 SECOND;
In MariaDB kannst Du für das Löschen der Logs den Befehl „Purge Binary“ nutzen um z.B. alle Logs vor dem 01.11.2022 zu entfernen.
PURGE BINARY LOGS BEFORE '2022-11-01';