Então, você tem um
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Falha no link de comunicação
java.net.ConnectException:Conexão recusada
Estou citando esta resposta que também contém um tutorial MySQL+JDBC passo a passo:
Se você receber umaSQLException: Connection refused
ouConnection timed out
ou umCommunicationsException: Communications link failure
específico do MySQL , isso significa que o banco de dados não está acessível. Isso pode ter uma ou mais das seguintes causas:
- O endereço IP ou nome do host no URL JDBC está incorreto.
- O nome do host no URL JDBC não é reconhecido pelo servidor DNS local.
- O número da porta está ausente ou incorreto no URL JDBC.
- O servidor de banco de dados está inativo.
- O servidor DB não aceita conexões TCP/IP.
- O servidor DB ficou sem conexões.
- Algo entre Java e DB está bloqueando conexões, por exemplo, um firewall ou proxy.
Para resolver um ou outro, siga os seguintes conselhos:
- Verifique e teste-os com
ping
.- Atualize o DNS ou use o endereço IP no URL JDBC.
- Verifique com base em
my.cnf
do banco de dados MySQL.- Inicie o banco de dados.
- Verifique se o mysqld foi iniciado sem a opção
--skip-networking option
.- Reinicie o banco de dados e corrija seu código de acordo com o fechamento das conexões em
finally
.- Desative o firewall e/ou configure o firewall/proxy para permitir/encaminhar a porta.
Veja também:
- Como devo me conectar ao banco de dados / fonte de dados JDBC em um aplicativo baseado em servlet?
- É seguro usar uma instância java.sql.Connection estática em um sistema multithread?