Anfang der Woche konnte eine Website nicht mehr aufgerufen werden. Der Fehler wies darauf hin, dass die Verbindung zur Datenbank nicht möglich war. Dieser Fehler tritt eigentlich auf, wenn die Zugangsdaten falsch sind. Aber diese wurden nicht verändert und auch in der Konfiguration waren sie noch immer korrekt. Nach der Aktivierung des WPD_EBUG Modus konnte ich dann den Fehler finden. Die Datenbank war korrupt/defekt.
Reparieren der Datenbank mit der WP-CLI
Mein erster Ansatz war die Verwendung der WP-CLI. Hier gibt es eine Option, mit der man die Tabellen einer Datenbank optimieren kann. Hierdurch können auch manchmal Fehler behoben werden:
wp db optimize
Dieses Kommando wird vor allem dann verwendet, wenn sehr viele Zeilen gelöscht wurden, sich dir Größe der Tabelle aber nicht verringert. Es korrigiert aber nicht immer Fehler in Tabellen. Glücklicherweise gibt es ein anderes Kommando für diese Aufgabe:
wp db repair
Wenn eine Tabelle repariert wurde, dann sehr ihr sehr wahrscheinlich eine Zeile in der Ausgabe des Kommandos, die wie folgt aussieht:
database_name.wp_options
warning : Number of rows changed from 378 to 381
status : OK
Nachdem ihr das Kommando ausgeführt habt sollte eure WordPress Website hoffentlich wieder funktionieren.
Reparieren der Datenbank über den Browser
Für diejenigen von euch, die keinen SSH-Zugang auf den Server haben oder die WP-CLI nicht verwenden können, gibt es eine Alternative. Zuerst müsst ihr hierzu folgende Zeile in die wp-config.php
Datei einfügen:
define( 'WP_ALLOW_REPAIR', true );
Wenn es aktuell einen Fehler mit der Datenbank gibt, dann solltet ihr beim Versuch euch ins Backend einzuloggen eine Meldung mit einem Link zur Reparatur-Seite finden. Falls nicht, navigiert zum /wp-admin/maint/repair.php
Pfad. Dort solltet ihr dann diese Seite vorfinden:
Alles, was ihr hier tun müsst ist auf den „Datenbank reparieren“ Button zu klicken. Ihr könnt auf dieser Seite auch eine Optimierung der Datenbank starten. Auf der nächsten Seite solltet ihr dann das Ergebnis der Optimierung sehen. Wenn alles geklappt hat, entfernt die zuvor hinzugefügte Zeile wieder aus der wp-config.php
Datei. Anschließend solltet ihr euch wieder wie gewohnt im Backend anmelden können.
Fazit
Es war nicht das erste Mal, dass bei einer WordPress-Installation eine Datenbank defekt war. Aber bisher kannte ich noch nicht die Oberfläche, der der man die Datenbank reparieren kann. Wenn ihr also weiterhin Zugriff auf die wp-config.php
Datei habt, dann könnt ihr die Datenbank im besten Fall mit dem Klick auf einen Button reparieren.
Hallo Bernhard,
vielen Dank für den guten Tipp! Ich habe dazu einen kleinen Artikel auf meiner Website geschrieben (https://web266.de/tutorials/wordpress/wordpress-datenbank/datenbank-reparieren/) und dich als Quelle verlinkt. Ergänzt habe ich die Empfehlung, vor der Reparatur die Datenbank mit PHPMyAdmin lokal zu sichern.
LG Hans