Ratgeber · WordPress-Hilfe
Fehler beim Aufbau einer Datenbankverbindung: Ursache und Lösung
„Fehler beim Aufbau einer Datenbankverbindung“ (englisch „Error establishing a database connection“) bedeutet, dass WordPress seine Datenbank nicht erreicht, weil die Zugangsdaten in der wp-config.php nicht stimmen, der Datenbank-Server des Hosters ausgefallen oder überlastet ist oder Tabellen beschädigt sind; die Meldung allein heißt nicht, dass Inhalte gelöscht sind. Prüfen Sie zuerst beim Hoster, ob eine Störung vorliegt, vergleichen Sie dann mit einer Kopie der wp-config.php die Werte DB_NAME, DB_USER, DB_PASSWORD und DB_HOST mit dem Kundenbereich, und reparieren Sie beschädigte Tabellen nur nach einer Sicherung über WP_ALLOW_REPAIR, das Sie danach wieder entfernen.
Was bedeutet „Fehler beim Aufbau einer Datenbankverbindung“?
Die Meldung bedeutet: WordPress erreicht seine Datenbank nicht und kann deshalb keine Seite anzeigen. In der Datenbank liegen die Texte Ihrer Seiten und Beiträge, die Einstellungen und die Benutzerkonten. Ohne sie bleibt nur eine kurze Fehlerseite, auch für Besucher. Die Meldung allein heißt nicht, dass Inhalte gelöscht sind; WordPress kommt nur nicht an sie heran.
Im aktuellen deutschen WordPress (Version 7.1) steht auf der Website „Fehler beim Aufbau einer Datenbankverbindung“, im Browser-Tab „Datenbankfehler“. Weil WordPress in diesem Moment die Spracheinstellung nicht aus der Datenbank lesen kann, erscheint die Meldung je nach Installation auch auf Englisch: „Error establishing a database connection“. Gemeint ist dasselbe.
Mehr verrät die Fassung im Admin-Bereich. Rufen Sie ihre-adresse.de/wp-admin/ auf. Anmelden müssen Sie sich dafür nicht, das ginge ohne Datenbank auch gar nicht. Dort zeigt WordPress je nach Ursache einen von drei längeren Texten:
- „Fehler beim Aufbau einer Datenbankverbindung“ mit dem Zusatz „Das bedeutet entweder, dass der Benutzername und das Passwort in deiner Datei wp-config.php falsch sind, oder dass keine Verbindung zum Datenbankserver unter … hergestellt werden konnte. Möglicherweise ist der Datenbankserver deines Hosts ausgefallen.“ Dann stimmen die Zugangsdaten nicht, oder der Datenbank-Server antwortet nicht.
- „Die Datenbank konnte nicht ausgewählt werden“ mit dem Satz „Der Datenbank-Server konnte verbunden werden (was bedeutet, dass dein Benutzername und dein Passwort in Ordnung sind), aber die Datenbank … konnte nicht ausgewählt werden.“ Dann stimmt der Name der Datenbank nicht, oder der Benutzer darf sie nicht verwenden.
- „Eine oder mehrere Datenbanktabellen sind nicht verfügbar. Möglicherweise muss die Datenbank repariert werden.“ Dann erreicht WordPress die Datenbank, aber Tabellen fehlen oder sind beschädigt.
Die ersten beiden Texte zeigt WordPress auch auf der Website, wenn der Debug-Modus eingeschaltet ist, also die Einstellung WP_DEBUG in der wp-config.php. Darüber steht dann zusätzlich die englische Meldung des Datenbank-Servers selbst, etwa „Access denied for user …“ bei falschem Benutzer oder Passwort oder „Too many connections“ bei einem ausgelasteten Server. Einschalten müssen Sie den Debug-Modus dafür nicht, der Blick auf /wp-admin/ reicht. Zeigt Ihre Website statt dieser Texte eine eigene Fehlerseite, liegt im Ordner wp-content eine Datei db-error.php, die etwa ein Plugin, also eine Erweiterung für WordPress, oder der Hoster angelegt hat. Diese Seite erscheint dann auch unter /wp-admin/ und im Debug-Modus, die längere Fassung bekommen Sie dort nicht zu sehen. Gehen Sie die Schritte unten trotzdem der Reihe nach durch, und nennen Sie dem Hoster die Datei db-error.php, wenn Sie nicht weiterkommen.
Was tun Sie zuerst, damit nichts verloren geht?
Erst nachsehen und sichern, dann ändern. Die Meldung selbst richtet keinen Schaden an, gefährlich werden erst hektische Reparaturversuche.
- Nichts neu installieren: Installieren Sie WordPress nicht neu und legen Sie keine neue, leere Datenbank an. Erscheint nach einer Änderung plötzlich die Installationsseite von WordPress, brechen Sie dort ab. Mehr dazu im übernächsten Abschnitt.
- Letzte Änderung notieren: Was ist kurz vorher passiert? Ein neues Datenbank-Passwort, ein Umzug, Arbeiten des Hosters, ein Update? Dort liegt die erste Spur.
- Sicherung prüfen: Schauen Sie im Kundenbereich Ihres Hosters, ob es eine aktuelle Sicherung von Dateien und Datenbank gibt. Sicherungen, die ein Backup-Plugin in einen Online-Speicher geschickt hat, liegen dort weiter bereit. Über WordPress selbst kommen Sie gerade nicht an sie heran, weil es nicht startet.
- wp-config.php kopieren: Bevor Sie etwas an dieser Datei ändern, laden Sie sie auf Ihren Rechner, per SFTP, also über die verschlüsselte Dateiübertragung zum Server, oder über den Dateimanager im Kundenbereich. Die Datei enthält die Zugangsdaten zur Datenbank. Bewahren Sie die Kopie sicher auf und schicken Sie sie nicht per E-Mail.
Hängen an der Website Anfragen, Termine oder Bestellungen und Sie wollen kein Risiko eingehen, holen Sie sich jetzt Hilfe. Wie wir im Notfall vorgehen, steht unter WordPress-Hilfe.
Liegt die Störung beim Hoster?
Prüfen Sie das zuerst, denn dann können Sie selbst nichts reparieren, und jeder Eingriff in die Dateien wäre unnötig. Der Hoster ist die Firma, auf deren Servern Ihre Website und ihre Datenbank liegen. Das WordPress-Handbuch nennt als Ursachen auf seiner Seite einen ausgefallenen Server und eine Datenbank, die ihr Speicherlimit erreicht hat und deshalb abgeschaltet wurde.
- Sehen Sie auf der Statusseite oder in den Störungsmeldungen Ihres Hosters nach, ob gerade ein Ausfall oder Wartungsarbeiten gemeldet sind.
- Prüfen Sie im Kundenbereich, ob die Datenbank noch aufgeführt ist und ob ein Speicherlimit erreicht ist.
- Öffnen Sie phpMyAdmin, das Werkzeug im Kundenbereich, mit dem man die Datenbank direkt ansieht. Öffnet es sich nicht, oder fehlt die Datenbank, ist der Hoster gefragt.
- Liegen weitere Websites beim selben Hoster, schauen Sie, ob sie laufen. Sind alle betroffen, liegt es nicht an Ihrer WordPress-Installation.
Meldet der Hoster eine Störung, warten Sie ab. Die Website kommt ohne Ihr Zutun zurück, sobald der Datenbank-Server wieder läuft.
Stimmen die Zugangsdaten in der wp-config.php?
Prüfen Sie das als Nächstes: Das WordPress-Handbuch nennt einen Fehler in der wp-config.php als übliche Ursache der Meldung. Das ist die zentrale Einstellungsdatei von WordPress im Hauptordner, dort, wo auch die Ordner wp-admin und wp-content liegen. Vier Zeilen darin regeln die Verbindung zur Datenbank:
define( 'DB_NAME', '…' );
define( 'DB_USER', '…' );
define( 'DB_PASSWORD', '…' );
define( 'DB_HOST', 'localhost' );
- DB_NAME ist der Name der Datenbank. Bei manchen Hostern beginnt er mit Ihrem Benutzernamen, etwa kunde123_wordpress; darauf weist WordPress in der langen Meldung selbst hin.
- DB_USER und DB_PASSWORD sind der Benutzer der Datenbank und sein Passwort. Das sind nicht Ihre Zugangsdaten für WordPress oder für den Kundenbereich.
- DB_HOST ist die Adresse des Datenbank-Servers. Laut WordPress-Dokumentation stehen die Chancen gut, dass Sie die Voreinstellung „localhost“ nicht ändern müssen, richtig ist sie aber nicht bei jedem Hoster: Manche geben einen eigenen Servernamen vor, manche eine Angabe mit Port oder Socket hinter einem Doppelpunkt, etwa localhost:3307. Port und Socket sind die Zugänge, über die der Datenbank-Server erreichbar ist. Den richtigen Wert nennt Ihr Hoster im Kundenbereich bei der Datenbank.
Achtung, Eingriff in die Konfiguration: Ihre heruntergeladene Kopie ist die Sicherung. Bearbeiten Sie die Datei nur mit einem reinen Texteditor, nicht mit Word, darauf besteht auch die WordPress-Dokumentation. Ändern Sie nur den Text zwischen den Hochkommas; die Hochkommas, Klammern und das Semikolon bleiben stehen. Geht etwas schief, laden Sie die Kopie wieder hoch.
- Öffnen Sie im Kundenbereich die Angaben zur Datenbank Ihrer Website: Name, Benutzer, Server. Gibt es mehrere Datenbanken, gehört die mit dem Namen aus DB_NAME zu Ihrer Website.
- Vergleichen Sie Zeichen für Zeichen, auch Groß- und Kleinschreibung und Leerzeichen am Anfang oder Ende.
- Das Passwort zeigt der Kundenbereich nicht immer an. Sind Sie unsicher, vergeben Sie dort ein neues Passwort für den Datenbank-Benutzer und tragen genau dieses in DB_PASSWORD ein; das schlägt auch das WordPress-Handbuch vor. Nutzt ein weiteres Programm dieselbe Datenbank, braucht es das neue Passwort ebenfalls. Fragen Sie im Zweifel den Hoster.
- Speichern, hochladen, Website neu laden. Ist sie wieder da, sind Sie fertig. Erscheint eine andere Meldung, hilft die längere Fassung unter /wp-admin/ weiter.
Erscheint statt der Fehlermeldung die Installationsseite von WordPress, installieren Sie nichts. Die Verbindung steht dann, aber die eingetragene Datenbank ist leer oder die falsche, oder das Tabellenkürzel passt nicht. Das Kürzel steht weiter unten in der Datei bei $table_prefix, etwa wp_, und muss zum Anfang der Tabellennamen passen, die Sie in phpMyAdmin sehen. Welche Angaben beim Einrichten in die wp-config.php gehören, erklärt Kapitel 3 zur Installation.
Was tun, wenn der Datenbank-Server überlastet ist?
Dann ist der Hoster gefragt, aber Sie können ihm die Suche leichter machen. Ein Hinweis auf Überlastung: Der Fehler kommt und geht, mal lädt die Website, mal nicht, ohne dass jemand etwas geändert hat. Falsche Zugangsdaten verhalten sich anders, sie scheitern bei jedem Aufruf.
Ein Datenbank-Server nimmt nur eine begrenzte Zahl von Verbindungen gleichzeitig an. Sind alle belegt, lehnt er weitere ab, im Debug-Modus mit der Meldung „Too many connections“. Auslöser können viele Besucher auf einmal sein, Programme, die die Website automatisch in großer Zahl abrufen, oder ein Plugin mit aufwendigen Datenbankabfragen. Teilen Sie sich den Server mit anderen Kunden des Hosters, kann auch deren Last auf Ihre Website durchschlagen.
- Notieren Sie, wann der Fehler auftritt, mit Datum und Uhrzeit.
- Fragen Sie den Hoster, ob der Datenbank-Server zu diesen Zeiten ausgelastet war, ob Ihr Tarif ein Limit für Datenbankverbindungen oder Rechenzeit hat und ob die Zugriffsprotokolle ungewöhnlich viele Abrufe zeigen.
- Tritt der Fehler auf, seit ein bestimmtes Plugin neu ist oder aktualisiert wurde, nennen Sie es dem Hoster. Wie Sie Plugins mit Bedacht auswählen, steht in Kapitel 6 zu Plugins.
Stößt die Website regelmäßig an die Grenzen des Tarifs, helfen ein größerer Tarif oder ein Cache, also ein Zwischenspeicher, der fertige Seiten ausliefert, ohne für jeden Aufruf die Datenbank zu fragen. Was davon passt, klären Sie mit dem Hoster; Ansätze stehen im Ratgeber WordPress schneller machen.
Wie reparieren Sie beschädigte Datenbanktabellen?
Mit der eingebauten Reparaturseite von WordPress, aber nur, wenn unter /wp-admin/ „Eine oder mehrere Datenbanktabellen sind nicht verfügbar. Möglicherweise muss die Datenbank repariert werden.“ steht. Bei falschen Zugangsdaten oder einem ausgefallenen Server hilft die Reparatur nicht, denn auch sie braucht eine funktionierende Verbindung.
Vorher sichern: Exportieren Sie die Datenbank mit phpMyAdmin oder lassen Sie den Hoster eine Sicherung anlegen. Auch die MySQL-Dokumentation rät, vor einer Reparatur zu sichern, weil sie unter Umständen Daten kosten kann. Wie der Export geht, steht im Ratgeber WordPress-Backup.
- Laden Sie die wp-config.php als Kopie herunter.
- Fügen Sie diese Zeile über dem Kommentar
/* Das war’s, Schluss mit dem Bearbeiten! Viel Spaß. */ein, in englischen Installationen/* That's all, stop editing! Happy publishing. */:
define( 'WP_ALLOW_REPAIR', true );
- Rufen Sie ihre-adresse.de/wp-admin/maint/repair.php auf.
- Klicken Sie auf „Datenbank reparieren“ (in englischer Oberfläche „Repair Database“). Die zweite Schaltfläche, „Datenbank reparieren und optimieren“, dauert laut WordPress länger und sperrt die Datenbank während des Optimierens. Für die Reparatur brauchen Sie sie nicht.
- Lesen Sie das Ergebnis: WordPress meldet für jede Tabelle, ob sie in Ordnung ist oder repariert wurde.
- Entfernen Sie die Zeile sofort wieder aus der wp-config.php, auch wenn die Reparatur nicht geklappt hat. Bei Erfolg erinnert WordPress selbst daran: „Reparaturen abgeschlossen. Bitte entferne die folgende Zeile aus wp-config.php, um diese Seite vor unautorisiertem Zugang zu schützen.“ Laut WordPress-Dokumentation ist die Seite ohne Anmeldung erreichbar, solange die Zeile steht.
Meldet WordPress „Einige Datenbank-Probleme konnten nicht behoben werden.“, entfernen Sie die Zeile ebenso und hören dann auf. Das kann bei Tabellen im Speicherformat InnoDB passieren, dem Standard aktueller MySQL-Versionen: Laut MySQL-Dokumentation funktioniert der Reparaturbefehl, den WordPress dafür nutzt, nur für die Formate MyISAM, ARCHIVE und CSV. Dann spielt der Hoster die Datenbank aus einer Sicherung zurück oder repariert sie mit eigenen Werkzeugen.
Was ist nach einem Umzug oder einem Hack anders?
Nach einem Umzug stehen in der wp-config.php womöglich noch die Werte des alten Hosters. Tragen Sie die Angaben der neuen Datenbank ein, auch DB_HOST: Was beim alten Hoster stimmte, muss beim neuen nicht stimmen. Prüfen Sie außerdem in phpMyAdmin, ob die Datenbank vollständig importiert ist. Eine leere Datenbank führt zur Installationsseite, eine halb importierte zur Meldung über nicht verfügbare Tabellen. Solange der alte Server läuft, ist nichts verloren. Wie ein Umzug Schritt für Schritt abläuft, steht im Ratgeber WordPress umziehen.
Stimmen Zugangsdaten und Hoster und der Fehler bleibt trotzdem, nennt das WordPress-Handbuch auch einen Angriff als mögliche Ursache. Dann gilt die Reihenfolge aus unserem Ratgeber WordPress gehackt: erst Besucher schützen, also den Hoster informieren und die Website vom Netz nehmen, dann Angreifer aussperren, unter anderem mit neuen Passwörtern, erst danach bereinigen. Ändern Sie dabei das Datenbank-Passwort, muss das neue auch in der wp-config.php stehen, sonst kommt genau diese Meldung. Spielen Sie eine Sicherung zurück, bringt deren wp-config.php das alte Passwort mit; tragen Sie auch dort das neue ein.
Wann ist der Hoster dran, und wann holen Sie Hilfe?
Der Hoster ist dran, sobald der Fehler nicht an den Einträgen in Ihrer wp-config.php liegt. Konkret:
- Die Zugangsdaten stimmen mit dem Kundenbereich überein, und der Fehler bleibt.
- phpMyAdmin öffnet sich nicht, oder die Datenbank fehlt.
- Der Fehler kommt und geht ohne Änderung, oder ein Speicherlimit ist erreicht.
- Die Reparaturseite meldet Tabellen, die sie nicht beheben konnte.
Schicken Sie dem Hoster die genaue Meldung, die längere Fassung von /wp-admin/, sofern WordPress sie zeigt, die Uhrzeit und was Sie zuletzt geändert haben. Das Passwort selbst gehört nicht in die Nachricht. Hören Sie außerdem auf, wenn es keine Sicherung gibt und an der Website Anfragen oder Bestellungen hängen, wenn Sie keinen SFTP-Zugang haben oder ein Reparaturversuch es schlimmer gemacht hat. Wenn Sie es nicht selbst machen wollen, schildern Sie uns den Fall über die Notfall-Anfrage unter WordPress-Hilfe.
Damit der Fehler Sie beim nächsten Mal nicht unvorbereitet trifft: Halten Sie die Zugänge zu Hoster, SFTP und Datenbank in einer Notfall-Liste bereit, wie in Kapitel 10 zum Livegang beschrieben, und sorgen Sie für Sicherungen außerhalb des Servers. Updates spielen Sie am besten mit einer Sicherung vorher ein; wie das geht, steht unter WordPress updaten. Wer Sicherungen und Updates lieber abgibt, findet beides in unserer WordPress-Wartung.
Zum Abhaken
Checkliste: in dieser Reihenfolge vorgehen
Ihre Haken bleiben in diesem Browser gespeichert, sonst nirgends.
Häufige Fragen dazu
Sind meine Inhalte weg, wenn WordPress „Fehler beim Aufbau einer Datenbankverbindung“ meldet?
Die Meldung allein bedeutet das nicht. Sie sagt nur, dass WordPress die Datenbank gerade nicht erreicht, in der Texte, Einstellungen und Benutzer liegen. Riskant wird es erst, wenn Sie ohne Sicherung WordPress neu installieren oder eine neue, leere Datenbank eintragen. Prüfen Sie zuerst beim Hoster, ob eine Störung vorliegt, und dann die Zugangsdaten in der wp-config.php.
Was bedeutet „Error establishing a database connection“?
Das ist dieselbe Meldung auf Englisch, auf Deutsch „Fehler beim Aufbau einer Datenbankverbindung“. Sie erscheint englisch, wenn WordPress die deutsche Sprachdatei in diesem Moment nicht laden kann, weil die Spracheinstellung in der nicht erreichbaren Datenbank steht. Ursachen und Lösung sind dieselben: falsche Zugangsdaten in der wp-config.php, ein ausgefallener oder überlasteter Datenbank-Server oder beschädigte Tabellen.
Was ist DB_HOST, und ist „localhost“ immer richtig?
DB_HOST ist der Eintrag in der wp-config.php mit der Adresse des Datenbank-Servers. „localhost“ ist die Voreinstellung, und laut WordPress-Dokumentation stehen die Chancen gut, dass sie passt, aber nicht bei jedem Hoster: Manche verlangen einen eigenen Servernamen oder eine Angabe mit Port oder Socket, etwa localhost:3307. Den richtigen Wert finden Sie im Kundenbereich Ihres Hosters bei der Datenbank.
Ist WP_ALLOW_REPAIR gefährlich?
Die Einstellung selbst repariert nichts, sie schaltet nur die Reparaturseite unter /wp-admin/maint/repair.php frei. Solange die Zeile in der wp-config.php steht, kann laut WordPress-Dokumentation jeder diese Seite ohne Anmeldung aufrufen. Sichern Sie die Datenbank vorher, nutzen Sie die Seite nur bei beschädigten Tabellen und entfernen Sie die Zeile direkt danach wieder, auch wenn die Reparatur nicht geklappt hat.
Warum kommt der Fehler nur manchmal?
Kommt und geht der Fehler, ohne dass jemand etwas geändert hat, spricht das für einen ausgelasteten oder gestörten Datenbank-Server, denn falsche Zugangsdaten scheitern bei jedem Aufruf. Ein Datenbank-Server nimmt nur eine begrenzte Zahl von Verbindungen gleichzeitig an. Notieren Sie die Uhrzeiten und fragen Sie Ihren Hoster, ob der Server ausgelastet war oder Ihr Tarif ein Limit hat.
Ich habe das Datenbank-Passwort geändert, jetzt geht nichts mehr. Was tun?
Tragen Sie das neue Passwort in der wp-config.php bei DB_PASSWORD ein, genau so, wie Sie es beim Hoster vergeben haben, zwischen den Hochkommas. Laden Sie die Datei vorher als Kopie herunter und bearbeiten Sie sie nur mit einem reinen Texteditor. Danach lädt die Website wieder, sofern sonst alles stimmt; das Eintragen kann auch der Hoster übernehmen.
Belege Quellen anzeigen (12)
- WordPress Advanced Administration Handbook: Common WordPress errors (Error Establishing a Database Connection: wp-config.php, Hoster, Speicherlimit, Hack)
- WordPress Developer Resources: wp-config.php (Datenbank-Einstellungen, DB_HOST mit Port oder Socket, kein Textverarbeitungsprogramm)
- WordPress Advanced Administration Handbook: Editing wp-config.php (Automatic Database Optimizing, WP_ALLOW_REPAIR ohne Anmeldung)
- WordPress Code Reference: wpdb::db_connect (Meldungstexte bei fehlgeschlagener Verbindung)
- WordPress Code Reference: dead_db (kurze und ausführliche Fassung, Titel „Database Error“)
- WordPress Code Reference: wp_load_translations_early (Sprache vor dem Laden der Datenbank)
- WordPress Advanced Administration Handbook: Backing Up Your Database
- WordPress-Dokumentation: FAQ My site was hacked
- MySQL 8.4 Reference Manual: Too many connections
- MySQL 8.4 Error Reference: Server Error Message Reference (1045 Access denied, 1040 Too many connections)
- MySQL 8.4 Reference Manual: REPAIR TABLE (nur MyISAM, ARCHIVE, CSV; vorher sichern)
- MySQL 8.4 Reference Manual: Introduction to InnoDB (Standard-Speicherformat)
So etwas für Ihre Website?
WordPress-Hilfe und Support
Sie hängen fest, Ihre Seite ist kaputt oder langsam? Wir helfen Ihnen weiter.
Sie möchten es nicht selbst machen?
Wir übernehmen das für Sie.
Beschreiben Sie kurz, wo Sie stehen. Das Formular dauert rund zwei Minuten, die Einschätzung ist kostenlos.
- 01 Anliegen
- 02 Projekt
- 03 Kontakt