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.

    Leave A Reply