Für Webhosting und ASP.NET Hosting (Windows Webhosting)

Diese Anleitung zeigt Ihnen, wie Sie den Speicherplatz Ihrer MySQL/MariaDB-Datenbank bei IONOS effizient nutzen. Sie lernen, wie Sie die aktuelle Belegung prüfen, Tabellen manuell optimieren, um Speicher freizugeben, und diesen Prozess mithilfe von Cronjobs automatisieren können.

Durch die Optimierung der Speichernutzung können Sie den Speicherverbrauch Ihrer MySQL/MariaDB-Datenbank reduzieren. Dieser Prozess hilft dabei, durch Speicherfragmentierung "verlorenen" Speicherplatz zurückzugewinnen, der dann wieder für Ihre Daten zur Verfügung steht. Eine regelmäßige Optimierung kann die Effizienz Ihrer Datenbank verbessern und sicherstellen, dass Sie den verfügbaren Speicherplatz optimal nutzen.

Speicherbelegung prüfen

Bevor Sie mit der Optimierung beginnen, sollten Sie die aktuelle Speicherbelegung Ihrer Datenbank überprüfen.

  • Loggen Sie sich in Ihr IONOS Konto ein.
  • Klicken Sie in der Titelleiste auf Menü > HostingWenn Sie mehrere Hosting-Verträge haben, wählen Sie anschließend den entsprechenden Vertrag aus.
  • Klicken Sie im Bereich Datenbanken auf Verwalten. Eine Übersicht Ihrer angelegten Datenbanken wird angezeigt.
  • In der Spalte SPEICHER wird die Größe Ihrer Datenbank in Gigabyte (GB) angezeigt.

Hinweis

Auch phpMyAdmin zeigt eine Speicherbelegung an. Wichtig für Ihr Speicherlimit ist aber nur der Wert in Ihrem IONOS Konto. Dieser Wert zeigt den echten Speicherplatz, den Ihre Datenbank auf dem Dateisystem braucht. Der Wert in phpMyAdmin kann, insbesondere bei Verwendung von InnoDB als Datenbankengine, vom tatsächlichen Verbrauch abweichen. Oft ist er zu niedrig.

Speicherlimits und Folgen der Überschreitung

Bei IONOS stehen Ihnen pro Datenbank feste Speicherkapazitäten zur Verfügung (Standard-Datenbanken: 2 GB, optionale Performance-Datenbanken: 5 GB). Es ist wichtig, diese Limits im Auge zu behalten, da bei einer Überschreitung der Schreibzugriff auf die Datenbank vorübergehend gesperrt wird, bis der Speicherverbrauch wieder unter das Limit fällt.

Manuelle Optimierung der Speichernutzung

Durch die Optimierung der Speichernutzung können Sie den Speicherverbrauch Ihrer Datenbank reduzieren, da Sie durch Speicherfragmentierung "verlorenen" Speicherplatz zurückgewinnen. Dieser Speicher steht dann wieder für Daten zur Verfügung.

Vorsicht: Risiko von Website-Ausfällen!

Während der Optimierung kann die Datenbank nur eingeschränkt genutzt werden:

  • Während der Optimierung einer Tabelle wird diese für Schreibzugriffe vollständig gesperrt.
  • Solange eine Tabelle gesperrt ist, sind Teile Ihrer Website oder Anwendung, die auf diese Tabelle zugreifen, nicht erreichbar oder funktionieren nicht korrekt. Dies kann zu Ausfallzeiten für Ihre Besucher führen.
  • Bei großen Tabellen kann dieser Vorgang Minuten bis hin zu Stunden dauern.

=> Führen Sie die Optimierung nur aus, wenn Sie sich dieser Auswirkungen bewusst sind, idealerweise zu Zeiten mit sehr geringer Nutzung (z. B. nachts), und planen Sie potenzielle Ausfallzeiten ein! 

  • Loggen Sie sich in Ihr  IONOS Konto ein.
  • Klicken Sie in der Titelleiste auf Menü > HostingWenn Sie mehrere Hosting-Verträge haben, wählen Sie anschließend den entsprechenden Vertrag aus.
  • Klicken Sie im Bereich Datenbanken auf Verwalten. Eine Übersicht Ihrer angelegten Datenbanken wird angezeigt.
  • Klicken Sie in der Zeile Ihrer Datenbank auf die Verknüpfung Öffnen. Das Administrationsprogramm phpMyAdmin öffnet sich in einem neuen Fenster.
  • Klicken Sie in der linken Baumansicht auf den Datenbanknamen (z. B. 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 Optimierungspotenzial geprüft. Für Tabellen mit signifikanter Fragmentierung (mehr als 50% freier, aber belegter Speicherplatz) wird automatisch ein SQL-Befehl der Form ALTER TABLE ... FORCE; generiert.

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

Hinweis

Wird Ihnen ein Befehl angezeigt, der auf  ...  endet  (Beispiel: ALTER TABLE \db1234567`.`attemptpostmeta_securit...`), klicken Sie auf Optionen+ über der Ausgabe, aktivieren Sie die Option Vollständiger Text und bestätigen Sie mit OK, um den vollständigen Befehl anzuzeigen.

  • Kopieren Sie alle generierten ALTER TABLE ... FORCE; Befehle zur weiteren Verwendung (z. B. in einen Texteditor).
  • Öffnen Sie das SQL-Befehlsfenster, indem Sie im Menü erneut auf SQL klicken.
  • Fügen Sie die ALTER TABLE ... FORCE; Befehle für die Optimierung in das SQL-Befehlsfenster ein. Pro Zeile sollte ein Befehl stehen.
  • Um die Optimierung zu starten, klicken Sie auf OK.

Hinweis

Der durch die Optimierung freigegebene Speicherplatz ist oft erst mit zeitlicher Verzögerung in der Datenbank sowie in der Anzeige im IONOS Konto sichtbar. Datenbanken, deren Schreibzugriff aufgrund von Speicherplatzmangel gesperrt war, sind in der Regel am nächsten Tag wieder beschreibbar, sofern die Optimierung erfolgreich war und das Speicherlimit unterschritten wurde.

Automatisierung der Speicherplatzoptimierung

Um den Optimierungsprozess regelmäßig durchzuführen, ohne manuell eingreifen zu müssen, können Sie die Ausführung der ALTER TABLE ... FORCE; Befehle (oder eines Skripts, das diese generiert und ausführt) mittels eines Cronjobs automatisieren. Weitere Informationen zur Einrichtung von Cronjobs finden Sie in der entsprechenden Hilfe.  Zur Cronjob-Hilfe-Kategorie