Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Outils
Outils Forum d'entraide sur les outils pour MySQL. Avant de poster -> Outils MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/07/2007, 03h32   #1
Futur Membre du Club
 
Inscription : septembre 2005
Messages : 44
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 44
Points : 15
Points : 15
Par défaut connexion à mysql avec java: java.net.ConnectException: Connection refused

Bonjour ,

Je teste une connexion à une bdd mysql via java avec le programme ci-dessous:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
try 
{
   System.out.println("Connexion au driver JDBC");
   Class.forName("com.mysql.jdbc.Driver").newInstance();
   System.out.println("Driver com.mysql.jdbc.Driver chargé");
   try 
   {
	System.out.println("Connexion a la base de données");
 
	Connection con = DriverManager.getConnection("jdbc:mysql://localhost :3306/information_schema","root","");
	System.out.println("Base de données connectée");
	} 
	catch (SQLException ex) 
	{
	   // la connexion a la base de données n_a pas pu être établie
	   // voici les codes erreurs retournés
	   System.out.println("SQLException: " + ex.getMessage());
	   System.out.println("SQLState: " + ex.getSQLState());
	   System.out.println("VendorError: " + ex.getErrorCode());
	}
} 
catch (Exception ex) 
{
   // Le driver n_a pas pu être chargé
   // vérifier que la variable CLASSPATH est bien renseignée
   System.out.println(ex.toString());
}
J'obtiens les messages d'erreurs suivants et je n'arrive donc pas à comprendre pourquoi la connexion échoue:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
Connection au driver JDBC
Driver com.mysql.jdbc.Driver chargé
Connection a la base de données
SQLException: Communications link failure due TO underlying exception: 
 
** BEGIN NESTED EXCEPTION ** 
 
java.net.ConnectException
MESSAGE: Connection refused
 
STACKTRACE:
 
java.net.ConnectException: Connection refused
	at java.net.PlainSocketImpl.socketConnect(Native Method)
	at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
	at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
	at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
	at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
	at java.net.Socket.connect(Socket.java:519)
	at java.net.Socket.connect(Socket.java:469)
	at java.net.Socket.<init>(Socket.java:366)
	at java.net.Socket.<init>(Socket.java:208)
	at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:173)
	at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:268)
	at com.mysql.jdbc.Connection.createNewIO(Connection.java:2745)
	at com.mysql.jdbc.Connection.<init>(Connection.java:1553)
	at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:285)
	at java.sql.DriverManager.getConnection(DriverManager.java:582)
	at java.sql.DriverManager.getConnection(DriverManager.java:185)
	at extraction.participants.Participants.main(Participants.java:23)
 
 
** END NESTED EXCEPTION **
 
 
 
Last packet sent TO the server was 33 ms ago.
SQLState: 08S01
VendorError: 0
Avec phpMyAdmin, l'accès à toutes bdd mysql se fait sans problème pour root sans mot de passe ou pour un utilisateur particulier.

Voici ma configuration:

- Mandriva Linux Spring 2007
- Version du client MySQL: 5.0.37
- mysql-connector-java-5.0.6-bin.jar
- java version "1.6.0_01"

Merci d'avance pour toutes vos suggestions car je suis complètement aux abois après des heures et des heures de recherches infructueuses.
lazare est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/07/2007, 14h46   #2
Membre confirmé
 
Avatar de Roy Miro
 
Inscription : avril 2007
Messages : 263
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : avril 2007
Messages : 263
Points : 224
Points : 224
Je n'ai pas encore regardé ton code en détail, mais j'ai déjà rencontré la meme erreur. Il s'agissait du firewalll qui bloquait.
Roy Miro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/07/2007, 19h26   #3
Futur Membre du Club
 
Inscription : septembre 2005
Messages : 44
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 44
Points : 15
Points : 15
Par défaut Résolu je ne sais par quelle magie.

Merci pour ton intervention mais mon problème est résolu.

En fait, j'ai essayé ceci:

dans le fichier my.cnf, j'ai mis en commentaire la ligne suivante:

skip-networking

qui est donc devenue :

# skip-networking

Après cette opération il faut redémarrer le serveur mysql (sous root):

soit

shell> service mysqld stop
shell> service mysqld start


ou

shell>/etc/init.d/mysqld stop
shell>/etc/init.d/mysqld start


Par ailleurs, dans un autre forum, la solution suivante a été proposée:

Citation:
Donc tu peux essayer 2 choses :

ajouter "bind-address 127.0.0.1" dans /etc/hosts.allow

et/ou

commenter l'option "skip-networking" dans /etc/mysql/my.cnf
Je ne sais pas ce qui s'est passé mais le redémarrage de mysql n'a pas suffi, j'ai dû redémarrer le système pour que les changements prennent effet.

Mais d'après ce que j'ai lu ici et là, ce problème peut avoir plusieurs origines dont le firewall justement, mais il me semble qu'étant sous linux, ça ne pouvait pas être le cas pour moi...
lazare est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h21.


 
 
 
 
Partenaires

Hébergement Web