Es liegt eine CommunicationsException vor:Kommunikationsverbindungsfehler.
Wenn Sie eine SQLException erhalten:Verbindung verweigert oder Zeitüberschreitung der Verbindung oder eine MySQL-spezifische
CommunicationsException: Communications link failure
dann bedeutet es, dass die DB überhaupt nicht erreichbar ist. Dies kann eine oder mehrere der folgenden Ursachen haben:
- IP-Adresse oder Hostname in JDBC-URL ist falsch.
- Hostname in JDBC-URL wird vom lokalen DNS-Server nicht erkannt.
- Die Portnummer fehlt oder ist in der JDBC-URL falsch.
- DB-Server ist ausgefallen.
- Der DB-Server akzeptiert keine TCP/IP-Verbindungen.
- Der DB-Server hat keine Verbindungen mehr.
- Etwas zwischen Java und DB blockiert Verbindungen, z.B. eine Firewall oder ein Proxy.
Um das eine oder andere zu lösen, folgen Sie den folgenden Ratschlägen:
- Überprüfen und testen Sie sie mit Ping.
- DNS aktualisieren oder stattdessen IP-Adresse in JDBC-URL verwenden.
- Verifizieren Sie es basierend auf my.cnf von MySQL DB.
- Starten Sie die DB.
- Überprüfen Sie, ob mysqld ohne die Option --skip-networking gestartet wird.
- Starte die DB neu und korrigiere deinen Code entsprechend, dass er Verbindungen endgültig schließt.
- Firewall deaktivieren und/oder Firewall/Proxy konfigurieren, um den Port zuzulassen/weiterzuleiten.
Quelle:Weitere Details