Ü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:


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.
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.