Diese Meldung ist dieselbe, ob das Passwort falsch ist, der Server steht, die Platte voll ist oder das Verbindungslimit erreicht wurde. Zwischen vieren zu raten ist langsamer als zu testen — und der Test ist ein Befehl.

Testen Sie die Zugangsdaten, nicht die Website

mysql -u dbuser -p -h localhost dbname
  • Access denied for user — falscher Benutzer oder falsches Passwort, oder der Benutzer hat kein Recht an dieser Datenbank.
  • Can't connect to local MySQL server — der Dienst läuft nicht.
  • Unknown database — der Name stimmt nicht, oder die Datenbank wurde auf diesem Server nie angelegt.
  • Too many connections — das Limit ist erreicht.

Zugriff verweigert

Lesen Sie die Zugangsdaten, die die Website tatsächlich benutzt — nicht die, an die Sie sich erinnern.

grep -E "DB_NAME|DB_USER|DB_PASSWORD|DB_HOST" wp-config.php

Ein Passwort mit einem Anführungszeichen oder Backslash ist eine häufige Ursache: Im Panel steht es richtig und in der Datei falsch, weil die Maskierung verlorenging.

Der Dienst läuft nicht

systemctl status mariadb
systemctl start mariadb
journalctl -u mariadb --since "30 min ago" | tail -30

Startet er und geht gleich wieder aus, nennt das Log den Grund. Eine volle Platte und eine beschädigte Tabelle sind die beiden üblichen.

Zu viele Verbindungen

SHOW STATUS LIKE 'Threads_connected';
SHOW VARIABLES LIKE 'max_connections';
max_connections zu erhöhen, wenn das eigentliche Problem langsame Abfragen sind, kauft Minuten. Jede Verbindung kostet Speicher, und ein Server, dem der RAM ausgeht, ist schlimmer als einer, der eine Verbindung abweist.

Nach einem Umzug

Eine auf einen anderen Server umgezogene Datenbank braucht meist ein DB_HOST, das von localhost auf eine Adresse geändert wird, und einen Benutzer, dem von dieser Adresse aus Rechte erteilt sind statt von localhost.

Beim EGPHP-Hosting stehen die Zugangsdaten in EGPNL unter „Datenbanken“, und das Panel zeigt den Host, den die Website benutzen soll. Kopieren Sie von dort, statt zu tippen.