Die Meldung ist der Hinweis
„Datenbankverbindung fehlgeschlagen" ist selten die vollständige Meldung. Schau ins Error-Log oder aktiviere die Fehlerausgabe der Anwendung — die genaue Meldung grenzt die Ursache sofort ein.
Access denied for user
Benutzername oder Passwort stimmen nicht, oder der Benutzer darf sich nicht von diesem Host aus verbinden. In MySQL gehört zu jedem Benutzer auch ein Host: meinuser@localhost ist ein anderer Benutzer als meinuser@%.
Häufige Stolperfalle: Die Zugangsdaten stimmen, aber die Anwendung verbindet sich über 127.0.0.1 statt localhost — für MySQL sind das zwei verschiedene Wege (Socket gegen TCP).
Connection refused
Auf diesem Port hört niemand. Läuft der Dienst überhaupt?
systemctl status mysql
ss -tlnp | grep 3306
Läuft er nicht, verrät das Log den Grund. Ein häufiger Auslöser ist eine volle Festplatte — MySQL startet dann schlicht nicht mehr.
Unknown database
Die Datenbank existiert nicht oder heißt anders. Achtung: Datenbanknamen sind unter Linux groß- und kleinschreibungsempfindlich. Wer lokal unter Windows entwickelt und dann auf einen Linux-Server umzieht, stolpert regelmäßig darüber.
Too many connections
Das Verbindungslimit ist erreicht. Meist liegt es nicht an zu vielen Besuchern, sondern an einer Anwendung, die Verbindungen öffnet und nicht wieder schließt. Kurzfristig hilft ein Neustart des Dienstes, dauerhaft nur die Korrektur in der Anwendung.
Systematisch testen
Prüfe die Zugangsdaten unabhängig von der Anwendung:
mysql -u meinuser -p -h 127.0.0.1 meinedatenbank
Klappt das, liegt der Fehler in der Anwendungskonfiguration — nicht an der Datenbank. Klappt es nicht, bekommst du hier die unverfälschte Fehlermeldung.
Bei gehosteten Datenbanken
Läuft die Datenbank nicht auf demselben Server, brauchst du Host, Port, Benutzer, Passwort und Datenbanknamen exakt so, wie sie im Panel stehen. Ein häufiger Fehler ist, localhost einzutragen, obwohl die Datenbank auf einem anderen Server liegt.
Der Tipp, der am meisten Zeit spart
Kopiere Zugangsdaten immer, tippe sie nicht ab. Ein l statt 1 oder ein unsichtbares Leerzeichen am Ende des Passworts kostet erfahrungsgemäß eine halbe Stunde Fehlersuche.