sql >> Databáze >  >> RDS >> Mysql

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Selhání komunikačního odkazu

Toto je zahalená výjimka a není opravdu zajímavá. Je to hlavní příčina výjimky, která nám ve skutečnosti říká něco o hlavní příčině. Podívejte se prosím trochu dále do stacktrace. Je velká šance, že pak budete čelit SQLException: Connection refused nebo SQLException: Connection timed out .

Pokud je to pravda i ve vašem případě, pak všechny možné příčiny jsou:

  1. IP adresa nebo název hostitele v adrese URL JDBC je nesprávná.
  2. Název hostitele v adrese URL JDBC není rozpoznán místním serverem DNS.
  3. Číslo portu v adrese URL JDBC chybí nebo je nesprávné.
  4. Server DB nefunguje.
  5. DB server nepřijímá připojení TCP/IP.
  6. Něco mezi Javou a DB blokuje připojení, např. firewall nebo proxy.

Chcete-li vyřešit jeden nebo oba, postupujte podle následujících rad:

  1. Ověřte a otestujte je pomocí ping .
  2. Obnovte DNS nebo místo toho použijte IP adresu v JDBC URL.
  3. Ověřte jej na základě my.cnf databáze MySQL.
  4. Začněte.
  5. Ověřte, zda je mysqld spuštěno bez --skip-networking možnost.
  6. Zakažte bránu firewall a/nebo nakonfigurujte bránu firewall/proxy tak, aby povolila/předala port.

Mimochodem (a nesouvisí to se skutečným problémem), nemusíte nutně načíst ovladač JDBC na každém getConnection() volání. Stačí pouze jednou při spuštění.



  1. orákulum | odstranit duplicitní záznamy

  2. Jak zobrazit serverové řazení v MySQL

  3. Jak zkontrolovat kompatibilitu databáze SQL Server po ukončení podpory sp_dbcmptlevel?

  4. Konfigurační parametr work_mem v PostgreSQL na Linuxu