Nachdem ich in den letzten Tagen ein paar MySQL (5.2.0-8) Exporte/Importe durchgeführt haben, meldete mein Server gestern abend das ihm der Speicher ausgeht. Erstmal war ich verdutzt…. nach ein paar Minuten suchen hatte ich dann das Problem gefunden.
In der /etc/mysql/my.cnf stehen folgende Standard Werte:
... expire_logs_days = 10 max_binlog_size = 100M ...
Somit schreibt MySQL die Logs der Zugriff bis auf 100 MB voll und löscht dieser erst nach 10 Tagen. Das kann im maximal Fall also 1 GB an Logs sein. Das traf bei mir nicht zu, aber bi mir war jedes Logfile ~ 25 MB groß.
/var/log/mysql/…
mysql-bin.000285 mysql-bin.000286 mysql-bin.000287 mysql-bin.000288 mysql-bin.000289 mysql-bin.000290 mysql-bin.000291 mysql-bin.000292 mysql-bin.000293 mysql-bin.000294 mysql-bin.000295 mysql-bin.000296 mysql-bin.000297 mysql-bin.000298 mysql-bin.000299 mysql-bin.000300 mysql-bin.000301 mysql-bin.000302 mysql-bin.000303 mysql-bin.000304 mysql-bin.000305 mysql-bin.000306 mysql-bin.index
Ein anpassen der beiden Werte mit anschließendem Neustart von MySQL brachte dann auch wieder denn verlorenen Speicherplatz zurück.
An diesen Werten sollen man nicht rumspielen, wenn die DBs nicht in einem konsistenen Zustand sind, oder von den DBs Replikate exisiteren.