Ihre Website zeigt nur noch eine Zeile: „Fehler beim Aufbau einer Datenbankverbindung“. WordPress konnte die Datenbank nicht öffnen, in der Ihre Seiten, Einstellungen und Konten liegen. Ihre Inhalte sind in der Regel unversehrt: dieser Leitfaden zeigt, welche der vier möglichen Ursachen vorliegt und wie Sie sie beheben.
wp-config.php nicht mit dem Datenbankserver verbinden konnte. Ihre Inhalte sind in der Regel unversehrt.DB_NAME, DB_USER, DB_PASSWORD und DB_HOST in wp-config.php mit denen im Control Panel des Hosters.Für jede ausgelieferte Seite öffnet WordPress eine Verbindung zu seiner MySQL- oder MariaDB-Datenbank, mit vier Angaben aus wp-config.php im Stammverzeichnis der Website:
define( 'DB_NAME', 'datenbankname' );
define( 'DB_USER', 'benutzername' );
define( 'DB_PASSWORD', 'passwort' );
define( 'DB_HOST', 'localhost' );
„Fehler beim Aufbau einer Datenbankverbindung“ bedeutet, dass diese Verbindung gescheitert ist. Vier Ursachen führen dazu: Zugangsdaten, die nicht mehr stimmen, ein angehaltener oder nicht erreichbarer Datenbankserver, ein überlasteter Server oder eine beschädigte Datenbank. Die folgenden Abschnitte gehen sie durch, von der am einfachsten zu prüfenden bis zur seltensten.
Liegt es am Server, eröffnen Sie beim Hoster ein Ticket mit dem Beginn der Störung und der genauen Meldung. An der Website ist in der Zwischenzeit nichts zu ändern.
Das ist die häufigste Ursache nach einem Umzug der Website, einer Änderung des Datenbankpassworts im Control Panel des Hosters oder einer Wiederherstellung. Vergleichen Sie die vier Werte in wp-config.php mit dem Datenbankbereich Ihres Hosters:
DB_NAME und DB_USER: viele Hoster stellen ihnen den Kontonamen voran (konto_wordpress). Das Präfix gehört zum Namen.DB_PASSWORD: im Zweifel legen Sie im Control Panel ein neues Passwort für den Benutzer fest und tragen es in die Datei ein.DB_HOST: localhost bei vielen Hostern, aber nicht bei allen. Manche nennen einen Servernamen oder eine Adresse, manchmal gefolgt von einem Port (:3306). Der genaue Wert steht im Control Panel.Ein Passwort mit einem Apostroph (') beendet die PHP-Zeichenkette, die es in wp-config.php umschließt. Setzen Sie einen Backslash davor (\') oder wählen Sie ein Passwort ohne Apostroph.
WordPress zeigt eine allgemeine Meldung. MySQL dagegen sagt genau, was nicht stimmt. Zwei Wege, es mit den Werten aus wp-config.php zu befragen:
mysql -h localhost -u benutzername -p datenbankname
Mit WP-CLI liest wp db check die Datei wp-config.php direkt und prüft die Tabellen mit diesen Zugangsdaten.
Legen Sie diese Datei unter einem schwer zu erratenden Namen im Stammverzeichnis der Website ab, öffnen Sie sie im Browser und löschen Sie sie sofort wieder: sie enthält das Datenbankpasswort.
<?php
mysqli_report(MYSQLI_REPORT_OFF);
$verbindung = @mysqli_connect('localhost', 'benutzername', 'passwort', 'datenbankname');
echo $verbindung ? 'Verbindung erfolgreich' : 'Fehlgeschlagen: ' . mysqli_connect_error();
Die erste Zeile zählt: seit PHP 8.1 löst eine gescheiterte Verbindung standardmäßig eine Exception aus, und die Seite bliebe weiß, statt die Meldung von MySQL anzuzeigen.
| MySQL antwortet | Die Ursache | Die Lösung |
|---|---|---|
Access denied for user 'benutzername'@'localhost' (using password: YES) | Die Kombination aus Benutzer und Passwort wird abgelehnt, oder der Benutzer darf sich von diesem Host aus nicht verbinden. | Das Passwort im Control Panel neu setzen und in DB_PASSWORD eintragen; DB_USER prüfen. |
Access denied for user 'benutzername'@'localhost' to database 'datenbankname' | Der Benutzer kann sich verbinden, hat aber keine Rechte an dieser Datenbank. | Den Benutzer im Control Panel des Hosters der Datenbank zuordnen, mit allen Berechtigungen. |
Unknown database 'datenbankname' | Die Verbindung funktioniert, aber keine Datenbank trägt diesen Namen. | DB_NAME korrigieren, samt Präfix; prüfen, ob die Datenbank noch existiert. |
Too many connections | Der Server hat seine Höchstzahl gleichzeitiger Verbindungen erreicht. | Siehe den Abschnitt zu zeitweiligen Fehlern. |
Connection refused oder No such file or directory (Code 2002 aus PHP), Can't connect to MySQL server (Kommandozeile) | Unter dieser Adresse antwortet kein Server: der Server ist angehalten, oder DB_HOST ist falsch. | DB_HOST im Control Panel prüfen; andernfalls den Hoster informieren. |
Verbindung erfolgreich | Die Zugangsdaten stimmen. | Bei der Datenbank selbst suchen: nächster Abschnitt. |
Stimmen die Zugangsdaten, sind aber Tabellen beschädigt, zeigt die öffentliche Website dieselbe Meldung zur Datenbankverbindung und das Dashboard eine genauere: „Eine oder mehrere Datenbanktabellen sind nicht verfügbar. Möglicherweise muss die Datenbank repariert werden.“ WordPress bringt dafür ein Werkzeug mit. Fügen Sie diese Zeile in wp-config.php ein:
define( 'WP_ALLOW_REPAIR', true );
Öffnen Sie dann https://www.ihre-website.com/wp-admin/maint/repair.php und starten Sie „Datenbank reparieren“. Entfernen Sie die Zeile, sobald die Reparatur abgeschlossen ist: solange sie vorhanden ist, kann jeder diese Seite ohne Anmeldung aufrufen.
Exportieren Sie vor jeder Reparatur die Datenbank (wp db export oder der Reiter Exportieren in phpMyAdmin). Scheitert die Reparatur, kann der Hoster die Datenbank aus seinen Backups wiederherstellen.
Ein Fehler, der zu bestimmten Zeiten auftritt und von selbst wieder verschwindet, deutet eher auf einen überlasteten Server als auf eine falsche Einstellung. Die häufigsten Ursachen:
wp-login.php oder xmlrpc.php, sichtbar in den Zugriffslogs des Hosters.Die Lösungen: missbräuchliche Anmeldeversuche blockieren, einen Seiten-Cache einrichten, xmlrpc.php deaktivieren, wenn keine Anwendung die Datei nutzt, und beim Hoster die Logs für den Zeitraum des Fehlers anfordern.
Mit Serenity by Simafri erstellen wir Ihre professionelle Website, hosten sie, sichern sie und halten sie aktuell. Sie schreiben uns, wir kümmern uns um alles. Domainname und geschäftliche E-Mail inklusive.
In der Regel bleibt alles erhalten. Die Meldung sagt, dass WordPress sich nicht mit der Datenbank verbinden konnte, und nicht, dass die Datenbank verschwunden ist. Zeigt phpMyAdmin weiterhin die Tabellen der Website, sind Ihre Seiten, Beiträge und Einstellungen vorhanden.
Weil das neue Hosting andere Zugangsdaten für die Datenbank verwendet: Datenbankname, Benutzer, Passwort und manchmal die Serveradresse. Tragen Sie die Werte aus dem neuen Control Panel in DB_NAME, DB_USER, DB_PASSWORD und DB_HOST in wp-config.php ein.
Eine Neuinstallation von WordPress ändert weder die Zugangsdaten in wp-config.php noch den Zustand des Datenbankservers, und genau diese verursachen die Meldung. Testen Sie zuerst die Zugangsdaten, dann den Server, dann die Integrität der Tabellen.
Eher von einer Überlastung als von einer Einstellung: zu viele gleichzeitige Verbindungen, eine Verkehrsspitze oder Bots. Die Zugriffslogs und der Ressourcenverbrauch im Control Panel des Hosters zeigen, was zum Zeitpunkt des Fehlers geschah.
Simafri
Sprechen wir über Ihr Vorhaben
Sagen Sie uns in wenigen Worten, was Sie brauchen: Wir melden uns schnell bei Ihnen.
Vielen Dank! Ihre Anfrage wurde gesendet. Wir melden uns in Kürze bei Ihnen.
Sie schreiben lieber eine E-Mail? Schreiben Sie uns an support@simafri.com.