GNU/Linux >> Tutoriels Linux >  >> Linux

Exception de communication de connectivité de la base de données MySQL Java

Java Database Connectivity (JDBC) est l'API Java qui vous permet d'accéder et d'exécuter des requêtes et des commandes sur une base de données.

Cet article décrit quelques étapes pour dépanner l'exception com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure erreur, qui se produit lorsque vous essayez de vous connecter à une base de données à l'aide de JDBC.

L'Communications link failure L'erreur se produit lorsque la base de données est inaccessible. Voici les causes possibles et leurs solutions :

L'adresse IP ou le nom d'hôte dans URL JDBC est faux.

Vérifiez et testez que le nom d'hôte ou l'adresse IP peut répondre en utilisant ping .

Le serveur DNS local ne reconnaît pas le nom d'hôte dans l'URL JDBC

Actualisez votre DNS ou utilisez l'adresse IP dans URL JDBC à la place.

Le numéro de port est manquant ou incorrect dans URL JDBC

Vérifiez que l'IP est bien configurée dans la base de données MySQL® my.cnf fichier en utilisant votre éditeur de texte préféré.

Pour trouver le mon.cnf fichier, exécutez la commande suivante pour vérifier vos paramètres MySQL :

mysql --help | grep "Default options" -A 1 

Si vous ne trouvez toujours pas le fichier, essayez d'exécuter la commande suivante :

find / -name my.cnf

Vous pouvez également rechercher dans les emplacements par défaut :

  • /etc/mon.cnf
  • /etc/mysql/my.cnf
  • /usr/etc/my.cnf
  • ~/.my.cnf

Le serveur de base de données n'accepte pas les connexions TCP/IP

Vérifiez que le mysqld le service est en cours d'exécution. Pour vérifier le statut de mysqld service, exécutez les commandes suivantes en fonction de votre distribution Linux® :

Pour CentOS® 6 ou Red Hat® Enterprise Linux® (RHEL) 6 :

service mariadb status

Pour CentOS 7+ ou RHEL 7+ :

systemctl status mariadb.service

Pour le système d'exploitation Ubuntu® :

/etc/init.d/mysql status

La base de données est arrêtée ou éteinte

Exécutez la commande suivante pour démarrer la base de données MySQL :

Pour CentOS 6/RHEL 6 :

service mariadb start

Pour CentOS 7+ / RHEL 7+ :

systemctl start mariadb.service

Pour le système d'exploitation Ubuntu :

/etc/init.d/mysql start

Le serveur de base de données n'a plus de connexions

Redémarrez la base de données et voyez si votre code rencontre un problème lors de la fermeture des connexions.

Les connexions entre Java et DB bloquent la communication

Désactivez le pare-feu ou le proxy. Sinon, configurez-les pour autoriser ou transférer le port. Si vous utilisez CentOS 6/RHEL 6, consultez l'article iptables.


Linux
  1. FAQ sur le déploiement de MySQL

  2. Optimiser la base de données MySQL

  3. Comment copier une base de données MySQL

  4. Améliorer la mise en cache de la base de données MySQL

  5. Exception d'échec de liaison de communication - WSO2 avec MySQL [Réparer]

Comment sauvegarder et restaurer une base de données MySQL

Liste des tables dans une base de données MySQL

Serveur de base de données MySQL

Comment créer une base de données dans MySQL

Présentation de MySQL

Renommer la base de données MySQL