Entwicklung und Datenbanken
Den Fehler bei der Datenbankverbindung in WordPress beheben
Die Meldung Error establishing a database connection bzw. Fehler beim Aufbau einer Datenbankverbindung zeigt, dass WordPress seine MySQL-Datenbank nicht lesen kann. Sie tritt häufig nach der Migration der Website, dem Wiederherstellen eines Backups oder dem Wechsel des Datenbankbenutzers auf.
Installieren Sie WordPress nicht neu und importieren Sie die Datenbank nicht wiederholt, bevor Sie die Ursache gefunden haben. Der Fehler liegt meist in der Konfiguration, den Berechtigungen oder dem Zustand von MySQL, und das Überschreiben von Daten kann die Wiederherstellung erschweren.
Prüfen Sie, ob der Fehler nur WordPress betrifft
Versuchen Sie, bevor Sie wp-config.php bearbeiten, phpMyAdmin über cPanel zu öffnen:
- Öffnet sich phpMyAdmin und zeigt die Datenbanken, funktioniert dieser Zugang zu MySQL. Sie müssen trotzdem Benutzer, Host und Berechtigungen prüfen, die WordPress verwendet; sie können andere sein.
- Kommen Sie auch dort nicht hinein oder zeigen mehrere Anwendungen Fehler, kann eine allgemeine Störung oder ein Problem mit dem MySQL-Konto vorliegen.
- Erscheint die Datenbank, enthält aber nicht die Tabellen von WordPress, wurde eine andere Datenbank importiert oder die Wiederherstellung ist nicht korrekt abgeschlossen.
Lesen Sie, wie Sie phpMyAdmin verwenden, um die Tabellen zu prüfen, ohne ihren Inhalt zu ändern.
Prüfen Sie die Daten in wp-config.php
Öffnen Sie wp-config.php im WordPress-Verzeichnis und suchen Sie:
define('DB_NAME', 'usuario_basedatos'); define('DB_USER', 'usuario_mysql'); define('DB_PASSWORD', 'mysql_passwort'); define('DB_HOST', 'localhost');
Prüfen Sie jeden Wert:
| Konstante | Was sie enthalten muss |
|---|---|
DB_NAME |
Vollständiger Name der Datenbank am Ziel |
DB_USER |
MySQL-Benutzer, der dieser Datenbank zugeordnet ist |
DB_PASSWORD |
Aktuelles Passwort dieses MySQL-Benutzers |
DB_HOST |
Vom Anbieter angegebener Server; bei cPanel meist localhost |
In cPanel wird der Kontoname normalerweise als Präfix vor Datenbanken und Benutzer gesetzt. Haben Sie wordpress und usuariodb angelegt, können die tatsächlichen Namen micuenta_wordpress und micuenta_usuariodb lauten.
Verwechseln Sie das Passwort für cPanel, WordPress oder E-Mail nicht mit dem Passwort des MySQL-Benutzers. Das sind voneinander unabhängige Zugangsdaten.
Ordnen Sie den Benutzer der Datenbank zu
Eine Datenbank anlegen und einen Benutzer anlegen sind zwei getrennte Schritte. Außerdem müssen Sie beide zuordnen und Berechtigungen vergeben.
- Öffnen Sie in cPanel Manage My Databases oder verwenden Sie den MySQL-Datenbank-Assistenten.
- Prüfen Sie, ob der in
DB_USERangegebene Benutzer existiert. - Fügen Sie ihn der in
DB_NAMEangegebenen Datenbank hinzu. - Vergeben Sie die Berechtigungen, die die Anwendung braucht; eine gewöhnliche WordPress-Installation nutzt alle Berechtigungen auf ihre eigene Datenbank.
- Speichern Sie und testen Sie die Website erneut.
Dieser Schritt ist eine häufige Ursache nach einer manuellen Migration: Dateien und Tabellen sind kopiert, aber der neue Benutzer hat keinen Zugriff auf die wiederhergestellte Datenbank.
Prüfen Sie, ob Sie die richtige Datenbank importiert haben
Öffnen Sie in phpMyAdmin die konfigurierte Datenbank und prüfen Sie, ob sie Tabellen wie diese enthält:
wp_optionswp_postswp_userswp_postmeta
Das Präfix kann von wp_ abweichen. WordPress legt es in wp-config.php über $table_prefix fest:
$table_prefix = 'wp_';
Verwenden die Tabellen ein anderes Präfix, passen Sie diese Variable an den vorhandenen Wert an. Das Präfix der Tabellen ohne vorbereitete Migration zu ändern kann dazu führen, dass Plugins oder eigene Abfragen auf falsche Namen zeigen.
Prüfen Sie das Passwort des MySQL-Benutzers
Können Sie das aktuelle Passwort nicht bestätigen, ermitteln Sie zuerst alle Anwendungen, die diesen Benutzer verwenden. Legen Sie danach in cPanel ein neues fest und aktualisieren Sie deren Konfigurationen, einschließlich DB_PASSWORD, abgestimmt.
Gehen Sie dabei koordiniert vor: Von der Änderung des Passworts in cPanel bis zum Speichern der wp-config.php kann WordPress keine Verbindung herstellen. Veröffentlichen Sie das Passwort nicht in einem Ticket und verwenden Sie es nicht für andere Dienste.
Unterschied zwischen Verbindungsfehler und beschädigten Tabellen
Eine Datenbank mit beschädigten Tabellen kann andere Meldungen oder Teilfehler innerhalb von WordPress verursachen. Verbindet sich WordPress, meldet aber, dass eine Tabelle repariert werden muss, erstellen Sie zuerst eine Kopie der Datenbank.
Nur um das integrierte Reparaturwerkzeug auszuführen, können Sie vorübergehend Folgendes hinzufügen:
define('WP_ALLOW_REPAIR', true);
Beschränken Sie vorübergehend den Zugriff auf diese URL, öffnen Sie /wp-admin/maint/repair.php und führen Sie nur die Reparatur aus, die zur Engine und zur Diagnose passt. Dieses Werkzeug repariert nicht jedes InnoDB-Problem. Entfernen Sie die Zeile am Ende wieder aus wp-config.php, denn diese Seite verlangt keine Anmeldung, solange die Option aktiv ist.
Verwenden Sie die Reparatur nicht, wenn das eigentliche Problem ein falscher Name, Benutzer, Passwort oder Host ist: Sie kann dann keine Verbindung herstellen und löst nichts.
Wenn der Fehler nach der Migration von WordPress auftrat
Prüfen Sie außerdem:
- Ob die kopierte
wp-config.phpnoch die MySQL-Daten des vorherigen Anbieters enthält. - Ob der SQL-Export ohne Fehler abgeschlossen wurde und der Import nicht unvollständig ist.
- Ob die Version von MySQL oder MariaDB mit der Installation kompatibel ist.
- Ob es zwei Kopien der
wp-config.phpgibt und Sie ein anderes Verzeichnis bearbeiten als das, aus dem die Domain ausgeliefert wird. - Ob die Domain auf den Server zeigt, den Sie gerade prüfen.
Folgen Sie der Anleitung zur Migration von WordPress zu einem anderen Hosting, um Dateien, Datenbank, URLs und DNS getrennt zu prüfen.
Welche Informationen Sie an den Support senden
Besteht der Fehler weiter, geben Sie an:
- Domain und ungefährer Zeitpunkt, zu dem er begann.
- Ob er nach einer Migration, einer Wiederherstellung oder einer Passwortänderung auftrat.
- Ob phpMyAdmin die Datenbank und ihre Tabellen anzeigt.
- Name der Datenbank und des MySQL-Benutzers, ohne Passwörter.
- Screenshot der Meldung und alle zugehörigen Fehler aus dem PHP-Log.
Fügen Sie nicht den vollständigen Inhalt der wp-config.php ein: Er enthält das Datenbankpasswort und die Sicherheitsschlüssel von WordPress.
Weist das Log auf Verbindungslimits oder einen Ausfall des Dienstes hin, ändern Sie das Passwort nicht auf Verdacht. Notieren Sie Fehler und Uhrzeit und fragen Sie beim Support nach dem Status. Prüfen Sie nach der Behebung der Ursache Lese- und Schreibzugriffe, nicht nur, ob die Meldung auf der Startseite verschwindet.
Das könnte Ihnen auch helfen
- Datenbank klonen Duplizieren Sie eine MySQL-Datenbank, indem Sie zuerst das Ziel und seine Berechtigungen in cPanel a...
- Datenbank von MyISAM nach InnoDB konvertieren und die Storage-Engine wechseln Konvertieren Sie MyISAM-Tabellen auf einem geprüften Klon nach InnoDB, prüfen Sie Speicherplatz, Ind...
- Laufende MySQL-Abfragen beenden Erkennen Sie langsame oder blockierte MySQL-Abfragen und unterscheiden Sie zwischen dem Stoppen eine...
- MySQL 8, Änderung der Zeichenkodierung von latin1 auf utf8mb4 Beheben Sie seltsame Zeichen in älteren Anwendungen nach dem Wechsel zu MySQL 8, indem Sie latin1 fü...
Stimmt etwas nicht oder hat sich etwas geändert? Erzählen Sie es uns, und wir prüfen es.