Zum Inhalt springen

Datenbank lehnt Verbindung ab: So stellen Sie eine Verbindung her

Mittel 20 Min. Aktualisiert:

Kurze Antwort

Wenn die Datenbank eine Verbindung ablehnt, sind die häufigsten Ursachen falsche Anmeldedaten, die Datenbank läuft nicht, Netzwerkprobleme oder eine Konfiguration, die keine Remote-Verbindungen zulässt. Prüfen Sie, ob der Dienst läuft, testen Sie die Verbindung von einem lokalen Rechner aus und überprüfen Sie die Datenbankprotokolle.

So erkennen Sie das Problem

  • Die Anwendung meldet einen Fehler beim Verbinden mit der Datenbank
  • Die Meldung enthält 'connection refused' oder 'can't connect'
  • Die Verbindung funktioniert lokal, aber nicht von einem entfernten Rechner
  • Die Datenbank stürzt ab oder startet neu, wenn eine Verbindung hergestellt werden soll
  • Der Fehler tritt nur in der Produktionsumgebung auf

Häufigste Ursachen

Die Datenbank läuft nicht

Der Datenbankdienst kann gestoppt sein oder aufgrund von Ressourcenmangel abstürzen. Überprüfen Sie den Dienststatus und die Protokolle.

Falsche Verbindungsdaten

Ein falscher Hostname, Port, Benutzername oder ein falsches Passwort verhindern den Verbindungsaufbau. Überprüfen Sie die Konfiguration der Anwendung.

Netzwerkprobleme oder Firewall

Firewall- oder Netzwerkregeln können den Datenbankport blockieren. Prüfen Sie, ob der Port vom Client-Rechner aus erreichbar ist.

Datenbank erlaubt keine Remote-Verbindungen

Standardmäßig akzeptieren viele Datenbanken nur lokale Verbindungen. Sie müssen Parameter wie `bind-address` oder `listen_addresses` anpassen.

Zu viele aktive Verbindungen

Die Datenbank kann neue Verbindungen ablehnen, wenn die maximal zulässige Anzahl erreicht ist. Überprüfen Sie `max_connections` und schließen Sie inaktive Verbindungen.

Lösung Schritt für Schritt

  1. 1

    Prüfen Sie, ob der Datenbankdienst läuft

    Öffnen Sie unter Windows services.msc und suchen Sie den Datenbankdienst (z. B. MySQL, PostgreSQL). Unter Linux verwenden Sie systemctl status mysql oder systemctl status postgresql. Wenn der Dienst nicht läuft, starten Sie ihn mit sudo systemctl start mysql (oder dem entsprechenden Befehl für Ihre Datenbank).

  2. 2

    Testen Sie die Verbindung von einem lokalen Rechner

    Versuchen Sie, sich von demselben Rechner, auf dem die Datenbank läuft, mit einem Kommandozeilenwerkzeug (z. B. mysql -u root -p oder psql -U postgres) mit der Datenbank zu verbinden. Wenn dies gelingt, liegt das Problem im Netzwerk oder beim Remote-Zugriff.

  3. 3

    Überprüfen Sie die Verbindungsdaten

    Stellen Sie sicher, dass Host, Port, Benutzername und Passwort korrekt sind. Überprüfen Sie in der Anwendung die Konfigurationsdateien oder Umgebungsvariablen. Achten Sie darauf, ob Sie localhost oder 127.0.0.1 verwenden.

  4. 4

    Prüfen Sie, ob der Port erreichbar ist

    Versuchen Sie vom Client-Rechner aus telnet <host> <port> oder nc -zv <host> <port>. Wenn der Port geschlossen ist, überprüfen Sie die Firewall auf dem Server und die Netzwerkregeln. Unter Windows verwenden Sie Test-NetConnection -ComputerName <host> -Port <port> in PowerShell.

  5. 5

    Konfigurieren Sie die Datenbank für Remote-Verbindungen

    Erstellen Sie vor Änderungen eine Sicherungskopie der Konfigurationsdateien. Ändern Sie für MySQL bind-address in my.cnf oder my.ini auf die Adresse der entsprechenden Schnittstelle (z. B. 0.0.0.0 nur, wenn der Zugriff durch eine Firewall eingeschränkt ist) und starten Sie den Dienst neu; überprüfen Sie dann die Benutzerberechtigungen nach Host. Ändern Sie für PostgreSQL listen_addresses in postgresql.conf und fügen Sie einen entsprechenden Eintrag in pg_hba.conf hinzu. Aktivieren Sie für SQL Server das TCP/IP-Protokoll im SQL Server Configuration Manager, überprüfen Sie den Port und starten Sie den Dienst neu.

  6. 6

    Überprüfen Sie die maximale Anzahl von Verbindungen

    Verbinden Sie sich als Administrator mit der Datenbank und führen Sie eine Abfrage zur aktuellen Anzahl der Verbindungen aus (z. B. SHOW STATUS LIKE 'Threads_connected'; für MySQL). Wenn sie nahe am Maximum liegt, erhöhen Sie max_connections oder optimieren Sie die Anwendung, um ungenutzte Verbindungen zu schließen.

  7. 7

    Überprüfen Sie die Datenbankprotokolle

    Die Datenbankprotokolle (z. B. MySQL Error Log, PostgreSQL Log oder das System-Journal) enthalten oft den genauen Grund für die Ablehnung der Verbindung. Suchen Sie nach Fehlermeldungen zur Authentifizierung oder zu Netzwerkproblemen.

  8. 8

    Starten Sie die Datenbank und die Anwendung neu

    Manchmal ist ein Neustart des Datenbankdienstes und der Anwendung, die sich verbindet, erforderlich. Verwenden Sie sudo systemctl restart mysql oder den entsprechenden Befehl. Planen Sie in der Produktion einen Neustart während einer Ausfallzeit. Starten Sie dann die Anwendung erneut und prüfen Sie, ob der Fehler weiterhin auftritt.

Wenn nichts hilft

Wenn Sie alles oben Genannte überprüft haben und die Datenbank weiterhin die Verbindung ablehnt, ziehen Sie Folgendes in Betracht:

  • Überprüfen Sie die Datenbankversion und den Treiber: Inkompatible Versionen können Verbindungsfehler verursachen.
  • Testen Sie mit einem anderen Client: Versuchen Sie es mit einem anderen Computer oder Werkzeug (z. B. DBeaver, pgAdmin), um ein Problem in der Anwendung auszuschließen.
  • Deaktivieren Sie die Firewall vorübergehend nur auf einem Testrechner: Tun Sie dies niemals auf einem Produktionsserver; wenn es unumgänglich ist, tun Sie es nur kurz und aktivieren Sie die Firewall unbedingt wieder.
  • Konsultieren Sie die Dokumentation: Sehen Sie in der offiziellen Dokumentation für Ihre Datenbank nach.
  • Ziehen Sie einen Experten hinzu: Wenn das Problem weiterhin besteht, wenden Sie sich an einen erfahrenen Kollegen oder den IT-Support.

So beugen Sie vor

  • Aktualisieren Sie die Datenbank und die Treiber regelmäßig.
  • Verwenden Sie starke Passwörter und beschränken Sie den Zugriff auf die erforderlichen IP-Adressen.
  • Überwachen Sie die Anzahl der aktiven Verbindungen und erhöhen Sie das Limit bei Bedarf.
  • Testen Sie die Verbindung in der Entwicklungsumgebung, bevor Sie in die Produktion wechseln.

Wann Sie einen Profi rufen sollten

Wenn Sie keinen Zugriff auf die Serverinfrastruktur haben oder nicht sicher sind, wie Sie die Datenbankkonfiguration ändern sollen, wenden Sie sich an den IT-Support. Wenn sich die Datenbank in der Produktion befindet und Sie keine Ausfallzeiten riskieren dürfen, sollten erfahrene Administratoren die Änderungen vornehmen.

Software- und Produktentwicklung · Individuelle Apps, SaaS und ein MVP in 4 bis 8 Wochen

Häufige Fragen

Warum lehnt die Datenbank eine Verbindung von einem entfernten Rechner ab, funktioniert aber lokal?

Höchstwahrscheinlich ist die Datenbank nicht für Remote-Verbindungen konfiguriert. Überprüfen Sie Parameter wie `bind-address` (MySQL) oder `listen_addresses` (PostgreSQL) und die Berechtigungen in der `pg_hba.conf` oder der Tabelle `mysql.user`.

Wie erkenne ich, ob das Problem in der Datenbank oder in der Anwendung liegt?

Versuchen Sie, sich mit einem Kommandozeilenwerkzeug von demselben Rechner, auf dem die Anwendung läuft, mit der Datenbank zu verbinden. Wenn dies gelingt, liegt das Problem in der Konfiguration der Anwendung. Wenn nicht, liegt das Problem in der Datenbank oder im Netzwerk.

Was bedeutet der Fehler 'Too many connections'?

Die Datenbank hat die maximal zulässige Anzahl gleichzeitiger Verbindungen erreicht. Erhöhen Sie `max_connections` oder optimieren Sie die Anwendung, damit sie Verbindungen ordnungsgemäß schließt.

Teilen
Keine Lösung gefunden?Der KI-IT-Assistent ist rund um die Uhr erreichbar. Beschreiben Sie das Problem oder senden Sie einen Screenshot und erhalten Sie eine Anleitung für Ihren Fall.KI-IT-Assistent fragen