Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Falha no link de comunicação


Esta é uma exceção encapsulada e não é realmente interessante. É a causa raiz da exceção que realmente nos diz algo sobre a causa raiz. Por favor, olhe um pouco mais no stacktrace. A chance é grande de você enfrentar uma SQLException: Connection refused ou SQLException: Connection timed out .

Se isso também for verdade no seu caso, todas as causas possíveis são:
  1. O endereço IP ou nome do host no URL JDBC está incorreto.
  2. O nome do host no URL JDBC não é reconhecido pelo servidor DNS local.
  3. O número da porta está ausente ou incorreto no URL JDBC.
  4. O servidor de banco de dados está inativo.
  5. O servidor DB não aceita conexões TCP/IP.
  6. Algo entre Java e DB está bloqueando conexões, por exemplo, um firewall ou proxy.

Para resolver o um ou o outro, siga os seguintes conselhos:
  1. Verifique e teste-os com ping .
  2. Atualize o DNS ou use o endereço IP no URL JDBC.
  3. Verifique com base em my.cnf do banco de dados MySQL.
  4. Inicie.
  5. Verifique se o mysqld é iniciado sem o --skip-networking opção.
  6. Desative o firewall e/ou configure o firewall/proxy para permitir/encaminhar a porta.

A propósito (e não relacionado ao problema real), você não precisa necessariamente carregar o driver JDBC em todos getConnection() ligar. Apenas uma vez durante a inicialização é suficiente.