WordPress: Fehler beim Aufbau der Datenbankverbindung

Ihr habt den Fehler bestimmt schon mehrmals im Web gesehen. Der „Fehler beim Aufbau einer Datenbankverbindung“ ist einer von den Fehlern, die sehr viele unterschiedliche Ursachen haben können. Das kann vor allem für Anfänger sehr frustrierend sein, vor allem wenn man vorher nicht gemacht und nichts verändert hat. Wir hatten dieses Problem selbst gestern und es dauerte ca. 20 Minuten um den Fehler zu finden und zu beseitigen. Während wir auf der Suche nach eine Lösung für unser Problem waren, haben wir festgestellt, dass es keinen guten Artikel zu diesem Thema gibt, in dem eine universelle Lösung oder zumindest verschiedene Lösungswege aufgelistet werden. In diesem Artikel zeigen wir euch nun wie ihr diesen Fehler lösen könnt, wobei wir eine ganze Liste von Lösungswegen präsentieren werden.

Hinweis: Bevor ihr irgendwelche Veränderungen an euren Datenbanken vornimmt solltet ihr natürlich unbedingt ein Backup anlegen. 

Warum kriegt man diesen Fehler?

Kurz gesagt bekommt ihr diesen Fehler zu sehen, weil WordPress keine Verbindung zu eurer Datenbank aufbauen kann. Der Grund dafür kann sehr vielseitig sein und von Fall zu Fall stark variieren. Es kann sein, dass eure Datenbank-Zugangsdaten falsch eingegeben oder geändert wurden. Es kann sein, dass der Server, auf dem die Datenbank hinterlegt ist, unerreichbar ist. Es kann sein, dass eure Datenbank zusammengebrochen ist oder sich ein Fehler in einer Tabelle eingeschlichen hat. Laut unserer Erfahrung liegt es oft an mehreren Server Fehlern aber es können natürlich auch noch andere Faktoren dazu beitragen. Lasst uns einen Blick auf die Lösungswege für dieses Problem werfen.

Besteht dieses Problem auch für den Ordner /wp-admin/ ?

Als erstes sollte man nachschauen ob man diesen Fehler sowohl im Front-End als auch im Back-End ( wp-admin/) zu sehen bekommt. Wenn der Fehler in beiden Bereichen angezeigt wird, dann solltet ihr beim nächsten Lösungsweg weiterlesen. Wenn ihr im Admin-Ordner einen anderen Fehler zu sehen bekommt wie zum Beispiel „Eine oder mehrere Datenbanktabellen sind nicht vorhanden“, dann solltet ihr eure Datenbank einmal reparieren.

Das kann man tun, indem man die folgende Zeile zu eurer wp-config.php Datei im Root Verzeichnis hinzufügt. Fügt sie einfach vor dem folgenden Satz in eurer wp-config.php Datei hinzu: ‘That’s all, stop editing! Happy blogging’

define('WP_ALLOW_REPAIR', true);

Sobald man den Code eingebaut hat muss man folgende URL auf der eigenen Seite aufrufen: http://www.deineseite.com/wp-admin/maint/repair.php

wprepairdb

Bedenkt dabei, dass der Nutzer nicht eingeloggt sein muss, um diese Funktion zu erreichen, solange der Code in der wp-config.php drin ist. Der Sinn dahinter ist, dass man die zerstörte Datenbank reparieren kann, denn oft können sich Nutzer nicht einloggen wenn die Datenbank zerstört ist.

Wenn ihr also mit der Reparatur eurer Datenbank fertig seid, dann solltet ihr den Code aus der wp-config.php Datei wieder entfernen.

Wenn dieser Lösungsweg nicht zur Lösung des Problems beigetragen hat oder wenn ihr die Reparatur gar nicht ausführen könnt, dann lest euch die weiteren Lösungswege durch.

Überprüfung der WP-Config Datei

Die Wp-Config.php Datei ist wohl die wichtigste Datei in eurer WordPress Installation. Hier nimmt man die Einstellungen vor, damit WordPress sich mit der Datenbank verbinden kann. Wenn ihr zum Beispiel euer Datenbank Passwort geändert habt, dann solltet ihr das in dieser Datei ebenfalls tun. Als erstes solltet ihr prüfen ob in der wp-config.php Datei alles so ist wie es war und nicht verändert wurde.

define('DB_NAME', 'database-name');
define('DB_USER', 'database-username');
define('DB_PASSWORD', 'database-password');
define('DB_HOST', 'localhost');

Bedenkt auch noch, dass euer DB_Host nicht immer localhost sein kann. Je nach dem wo ihr eure WordPress Installation hostet gibt es verschiedene Datenbank-Adressen.

Einige Webmaster haben berichtet, dass sie ihr Problem gelöst haben, nachdem sie statt localhost einfach die IP Adresse ihres Servers eingetragen haben.

define('DB_HOST', '127.0.0.1:8889');

Die IP Adresse variiert dabei natürlich und ist abhängig vom Webhoster.

Wenn ihr der wp-config.php Datei alles korrekt eingetragen ist und der Fehler weiterhin besteht, dann kann man schon sicher sein, dass der Fehler auf der Server-Seite liegt.

Überprüft euer Hosting-Paket  ( MySQL Server)

Oft kriegt man den Fehler zu sehen, wenn über die Seite sehr viel Traffic läuft. Es kann dabei sein, dass euer Server nicht mehr dem Traffic klar kommt und überlastet wird ( vor allem wenn man auf Shared Hosting Pakete zurückgreift). Die Webseite wird dann sehr langsam und manchen Besuchern wird der Fehler angezeigt.  Als erstes sollte man sich dann mit seinem Hosting-Provider in Verbindung setzen und fragen ob der MySQL Server noch normal reagiert.

Es gibt einige Möglichkeiten zunächst einmal zu testen ob der MySQL Server einwandfrei funktioniert. Testet einfach andere Webseiten, die sich auf dem gleichen Server befinden und schaut ob diese Webseiten das gleiche Problem haben. Wenn dort der gleiche Fehler auftaucht, dann liegt das Problem definitiv beim MySQL Server. Wenn ihr keine weitere Webseite auf dem gleichen Webserver habt oder kennt, dann geht einfach in euren Hosting Account und loggt euch dort in den cPanel ein. Versucht dann phpMyAdmin zu öffnen und die Datenbank zu erreichen. Wenn ihr euch dort einloggen könnt, dann muss man nachschauen ob der Datenbank-Benutzer alle Rechte besitzt um auf die Datenbank zuzugreifen. Erstellt dazu einfach eine Datei mit dem Namen testconnection.php und füllt diese mit folgendem Code:

<?php $link = mysql_connect('localhost', 'root', 'password'); if (!$link) { die('Could not connect: ' . mysql_error()); } echo 'Connected successfully'; mysql_close($link); ?>

Dabei sollte ihr in dem Code den Nutzernamen und das Passwort natürlich durch eure eigenen ersetzen. Ladet diese Datei in euer Root Verzeichnis und ladet die Datei über euren Browser. Wenn hier nun „Connected Successfully“ steht, dann heißt es, dass euer Nutzer alle notwendigen Rechte hat und dass etwas anderes den Fehler verursacht. Hier müsste in der Regel also nur noch die wp-config Datei schuld sein. Öffnet diese Datei noch einmal und untersucht sie gründlich nach Fehlern oder falschen Angaben.

Wenn ihr eure Datenbank über phpMyAdmin nicht erreichen könnt, dann liegt es wiederum am Server. Das heißt aber nicht zwingend, dass euer MySQL Server heruntergefahren ist. Es kann auch bedeuten, dass der Nutzer keine notwendigen Rechte für einen Zugang hat.

In unserem Fall lief der MySQL Server einwandfrei. Alle anderen Seiten auf dem Server liefen normal bis auf Uni-24.de. Als wir versucht haben phpMyAdmin zu erreichen kam der Fehler:

#1045 – Access denied for user ‘foo’@’%’ (using password: YES)

Wir haben also unseren Webhoster angerufen und dieser fand schnell das Problem. Aus irgendeinem Grund wurden unsere Nutzerrechte zurückgesetzt. Aktuell wissen wir noch nicht wie das genau geschah aber das war der Grund. Die Rechte wurden vom Webhoster wieder vergeben und diese Seite konnte wieder normal erreicht werden.

Lösungen, die bei andren Webmastern funktionierten

Natürlich taucht genau unser Problem nicht bei jedem so auf. Ihr könnt es auf eigene Gefahr versuchen aber vorher solltet ihr auf jeden Fall ein Backup anlegen.

Deepak Mittal erzählte in seinem Artikel, dass sein Kunde den Fehler zu sehen bekommen hat, dass der Datenbank-Fehler repariert werden müsse. Aber auch nach der Reparatur der Datenbank ging der Fehler noch nicht weg. Er hat mehrere Dinge versucht aber am Ende lag es an der falschen Seitenurl. Aus irgendeinem Grund wurde diese geändert und verursachte somit den Fehler. Er führte den folgenden SQL Befehl im phpMyAdmin aus:

UPDATE wp_options SET option_value='YOUR_SITE_URL' WHERE option_name='siteurl'

Beachtet bei dem Befehl, dass ihr YOUR_SITE_URL mit eurer eigenen Seitenurl ersetzt. Auch wp_options muss angepasst werden, wenn ihr einen anderen Datenbank Präfix verwendet.

Dieser Befehl hat das Problem für ihn gelöst.

Sachinum berichtete in seinem Artikel, dass er mit der textconnection.php die Datenbank erreichen konnte. Er änderte also den Nutzer noch einmal in der wp-config.php Datei und es funktionierte.

In vielen Artikeln im Internet wird außerdem berichtet, dass viele Nutzer einfach die aktuellste Version von WordPress neu hochgeladen haben und es danach direkt funktionierte.

HINTERLASSEN SIE EINE ANTWORT

Please enter your comment!
Please enter your name here

* Die Checkbox für die Zustimmung zur Speicherung ist nach DSGVO zwingend.

Ich akzeptiere