Überschreitung der Speicherkapazität bei MySQL- und MariaDB-Datenbanken

Sie haben in unseren aktuellen Tarifen 2 Gigabyte Speicherplatz pro Datenbank zur Verfügung. Bei Überschreitung dieser Grenze wird der Schreibzugriff auf diese Datenbank gesperrt, bis das Limit wieder unterschritten wird. Mit der nachfolgenden Anleitung können Sie Ihre Datenbank optimieren und somit einer Sperrung vorbeugen.

Den belegten Speicherplatz einer Datenbank ermitteln Sie über die Anzeige in Ihrem IONOS Konto oder phpMyAdmin. Beachten Sie, dass phpMyAdmin bei Verwendung von InnoDB-Tabellen einen falschen Wert für die Speicherbelegung ausgibt. Maßgeblich ist daher der im IONOS Konto unter Hosting > Vertragsauswahl > Datenbanken: Verwalten  angezeigte Wert.

Ein möglicher Grund für eine stark überhöhte Speicherbelegung Ihrer Datenbank können häufige Änderungen in den Tabellen sein. Dadurch wird immer mehr Platz belegt, obwohl sich am eigentlichen Speichervolumen nicht viel ändert. Diesen Speicherplatz können Sie reorganisieren und optimieren.

Hinweis
  • Eine Erhöhung der maximalen Datenbankgröße von 2 Gigabyte ist nicht möglich.
  • Wenn Sie den maximalen Speicherplatz Ihrer Datenbank bereits überschritten haben, ist eine Bereinigung nur über den IONOS Kundenservice möglich. Eine Ausnahme gilt für innodb-Tabellen auf die ein Alter Table-Befehl angewandt werden kann.

Speichernutzung optimieren

Sie können die Speicherplatznutzung Ihrer Datenbank verbessern, indem Sie durch Speicherfragmentierung "verlorenen" Speicherplatz zurückgewinnen. Dieser Speicher steht dann wieder für Daten zur Verfügung.

Zunächst müssen Sie jedoch prüfen, für welche Tabellen sich die Optimierung lohnt:

  • Sofern noch nicht geschehen, melden Sie sich in Ihrem IONOS Konto an.
  • Klicken Sie auf die Kachel Hosting  und wählen Sie den entsprechenden Hosting-Vertrag aus.
  • Klicken Sie auf Verwalten in der Kachel Datenbanken. Eine Übersicht Ihrer angelegten Datenbanken wird angezeigt.
  • Klicken Sie in der Zeile in der Ihre Datenbank angezeigt wird auf die Verknüpfung Öffnen. Das Administrationsprogramm phpMyAdmin öffnet sich in einem neuen Fenster.
  • Klicken Sie in der Baumansicht auf den Datenbanknamen, zum Beispiel db12345678.

    In der Detailansicht werden alle Tabellen dieser Datenbank angezeigt.
  • Wählen Sie SQL  im Menüband.
  • Kopieren Sie den folgenden SQL-Befehl und fügen Sie ihn in das SQL-Befehlsfenster ein:SELECT concat('ALTER TABLE `', table_schema, '`.`', table_name, '` FORCE;')
    FROM information_schema.tables
    WHERE data_free / (data_length + index_length + data_free) > 0.5
    ORDER BY data_free DESC;

    In phpMyAdmin sollte es dann wie folgt aussehen:
  • Führen Sie den Befehl aus, indem Sie unter dem SQL-Befehlsfenster auf OK klicken.

    Ihre Tabellen werden nun auf Ihre Speichernutzung geprüft. Für Tabellen mit Optimierungspotential wird automatisch ein SQL-Befehl der Form "ALTER TABLE [...]" generiert, mit dem Sie im Anschluss die Speichernutzung der Tabelle optimieren können.

    Im folgenden Beispiel wurden 4 Tabellen identifiziert, die optimiert werden sollten. Es gibt also 4 ALTER-Befehle:
Ausgabe der generierten SQL-Statements in phpMyAdmin
Hinweis

Wird Ihnen ein Befehl angezeigt, der auf  ...  endet, müssen Sie die Ausgabeeinstellungen anpassen.

Beispiel: 
ALTER TABLE `db1234567`.`attemptpostmeta_securit...

Um den vollständigen Befehl anzuzeigen, klicken Sie auf Optionen+ über der Ausgabe und aktivieren Sie die Option Vollständiger Text.  Danach bestätigen Sie die Änderung mit OK

  • Kopieren Sie die SQL-Befehle zur weiteren Verwendung.
  • Öffnen Sie das SQL-Befehlsfenster, indem Sie im Menü erneut auf SQL klicken.
  • Fügen Sie die SQL-Befehle für die Optimierung in das SQL-Befehlsfenster ein.
  • Um die Optimierung zu starten, klicken Sie auf OK.
Hinweis

Der von Ihnen bereinigte Speicherplatz wird zeitverzögert in der Datenbank freigegeben. Datenbanken, auf die keine Schreibzugriffe mehr möglich waren, weil der Speicherplatz erschöpft war, können in der Regel am nächsten Tag wieder genutzt werden.

Optimieren automatisieren

Sie können die Optimierung mittels eines Cronjobs automatiseren. Weitere Informationen zu Cronjobs finden Sie in mehreren Hilfe-Center Artikeln.