2010-08-13 7 views
0

L'application Java Je travaille avec est censé écrire ses données résultant à une base de données MySQL, mais chaque fois que je le lance, je reçois l'exception suivante:Problème de connexion au port 3306 pour l'application mysql

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure 

Avec la cause suivante:

Caused by: java.net.ConnectException: Connection refused 

Naturellement, ma prochaine étape consistait à tester le port que MySQL a été tente de se connecter sur (3306). Ma prochaine étape était de voir si le port 3306 écoutait du tout.

$ netstat -an|grep 3306 
tcp  0  0 69.164.214.18:3306  0.0.0.0:*    LISTEN 

Donc en résumé, le port écoute mais n'accepte pas les connexions? Je dois admettre que je ne connais pas grand-chose à ce sujet, mais est-ce que quelqu'un sait ce qui se passe ici?

+0

peut-être vous devez inclure le port/application dans votre liste d'exceptions de pare-feu ... ainsi les connexions à distance au port est permis ... :) – ultrajohn

+0

Ah oui, excuses, j'ai négligé d'inclure que j'ai ajouté 3306 à iptables –

Répondre

0

Je l'ai compris. J'avais besoin de me connecter à mysql en externe, mais mon programme essayait d'y accéder localement.

0

Liste:

  1. règle de pare-feu: Si votre serveur refuser/ne pas permettre le port 3306, ne peut pas le connecter.
  2. Bind Adresse: si votre adresse de liaison sont 127.0.0.1 dans la configuration MySQL, vous devez passer à 0.0.0.0 dans [mysqld] sur /etc/mysql/my.cnf
  3. Restart Service: vous devez lancer la commande ' service mysql restart '

Bonne chance.