Mysql
 sql >> Base de données >  >> RDS >> Mysql

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException :Échec de la liaison de communication

Donc, vous avez un

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException :échec de la liaison de communication
java.net.ConnectException :connexion refusée

Je cite cette réponse qui contient également un didacticiel pas à pas MySQL+JDBC :

Si vous obtenez une SQLException: Connection refused ou Connection timed out ou une CommunicationsException: Communications link failure spécifique à MySQL , cela signifie que la base de données n'est pas accessible du tout. Cela peut avoir une ou plusieurs des causes suivantes :

  1. L'adresse IP ou le nom d'hôte dans l'URL JDBC est incorrect.
  2. Le nom d'hôte dans l'URL JDBC n'est pas reconnu par le serveur DNS local.
  3. Le numéro de port est manquant ou erroné dans l'URL JDBC.
  4. Le serveur de base de données est en panne.
  5. Le serveur de base de données n'accepte pas les connexions TCP/IP.
  6. Le serveur de base de données n'a plus de connexions.
  7. Quelque chose entre Java et DB bloque les connexions, par ex. un pare-feu ou un proxy.

Pour résoudre l'un ou l'autre, suivez les conseils suivants :

  1. Vérifiez et testez-les avec ping .
  2. Actualisez le DNS ou utilisez plutôt l'adresse IP dans l'URL JDBC.
  3. Vérifiez-le en fonction de my.cnf de la base de données MySQL.
  4. Démarrez la base de données.
  5. Vérifiez si mysqld est démarré sans l'option --skip-networking option .
  6. Redémarrez la base de données et corrigez votre code en conséquence pour qu'il ferme les connexions dans finally .
  7. Désactivez le pare-feu et/ou configurez le pare-feu/proxy pour autoriser/transférer le port.

Voir aussi :