IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JDBC Java Discussion :

Probleme de connexion a distance base de donnée mysql


Sujet :

JDBC Java

  1. #1
    Membre du Club
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2008
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 141
    Points : 66
    Points
    66
    Par défaut Probleme de connexion a distance base de donnée mysql
    Bonjour je realise une application java qui doit se connecter a une base de donnée MySQL.

    J'arrive au bout de l'application et je viens de tester veritablement mon programme sur 2 ordinateurs( l'un etant serveur, l'autre client) et j'ai un probleme lorsque mon programme tente de se connecter a la base de donnée
    pourtant quand je met le client et le serveur sur le meme pc sa marche

    voici mon code de connexion a la base de donnée

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    
    public class BddConnexion {
    
    	protected Fenetreconnexion fene;
    	protected boolean connecte;
    	protected static Vector userconecte = new Vector();
    	protected String pseudo="";
    
    	public BddConnexion(Fenetreconnexion fen){
    
    		this.fene=fen;
    		connecte=false;
    
    	}
    
    	public boolean connexion(){
    
    
    		String user = "***";
    		String mdp = "***";
    
    		String pilote = "com.mysql.jdbc.Driver";
    
    
    
    
    		try{
    
    			Class.forName(pilote);
    			Connection c = DriverManager.getConnection("jdbc:mysql://localhost:3306/amsky",user,mdp);
    			Statement s = c.createStatement();
    			ResultSet r = s.executeQuery("SELECT * from user");
    			boolean fini = false;
    			String log1, log2;
    			boolean conected = false;
    
    
    			while((r.next())&&(fini==false)){
    
    
    				log1=r.getString("login");
    				log2=fene.ztlog.getText();
    				if (log1.equals(log2)){
    
    					pseudo=log1;
    
    					log1=r.getString("mdp");
    					log2=fene.ztmdp.getText();
    					if (log1.equals(log2)){
    
    						System.out.println("Connexion réussie");
    						fene.setVisible(false);
    						connecte=true;
    						fini=true;
    
    					}
    
    				}
    
    
    			}	
    			if ((fini==false)&&(pseudo.equals(""))){
    
    				System.out.println("Le login "+ fene.ztlog.getText()+ " n'existe pas");
    
    			}else{
    				
    				if (fini==false){
    					
    					System.out.println("Mot de passe erroné");
    					
    				}
    
    				
    
    			}
    			return connecte;
    
    		}catch (Exception e){
    
    			System.out.println("Echec pilote : " + e);
    			return false;
    		}
    
    
    	}
    
    
    
    }
    Enfet quand je remplace "localhost" par "debian" qui est le nom de ma machine serveur j'obtiens l'erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
     
    Echec pilote : com.mysql.jdbc.CommunicationsException: 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:18
    pourtant mes fichiers hosts sont bien configurés quand je fais un ping debian sa repond bien!

    est ce que quelqu'un a deja eu ce probleme?

  2. #2
    Invité
    Invité(e)
    Par défaut
    Salut,
    je pense que l problème vient de la configuration de MySQL. Pour des raisons de sécurité, par défaut seules les connexions venant de localhost sont acceptées.
    Donc regarde du côté de la configuration du server.
    Bon courage

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 138
    Points : 172
    Points
    172
    Par défaut
    je confirme, mysql par défaut n'accepte que les conections qui viennent de localhost.

    j'avais eu le même problème et voila ce que j'ai noté pour la résolution :


    modifier /etc/mysql/my.cnf

    changer la ligne: bind-address = 127.0.0.1
    en : bind-address = adresse_ip_machine

    ensuite:
    /etc/init.d/mysql restart

    ensuite:
    mysql -u root -p

    ensuite:
    CREATE user root@'%' IDENTIFIED BY '' ;
    GRANT ALL ON *.* TO root@'%' WITH GRANT OPTION ;


    maintenant on peut se connecter en
    login: root
    password:

  4. #4
    Nouveau membre du Club
    Inscrit en
    Décembre 2008
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 24
    Points : 34
    Points
    34
    Par défaut
    Citation Envoyé par asellerin Voir le message
    je confirme, mysql par défaut n'accepte que les conections qui viennent de localhost.

    j'avais eu le même problème et voila ce que j'ai noté pour la résolution :


    modifier /etc/mysql/my.cnf

    changer la ligne: bind-address = 127.0.0.1
    en : bind-address = adresse_ip_machine

    ensuite:
    /etc/init.d/mysql restart

    ensuite:
    mysql -u root -p

    ensuite:
    CREATE user root@'%' IDENTIFIED BY '' ;
    GRANT ALL ON *.* TO root@'%' WITH GRANT OPTION ;


    maintenant on peut se connecter en
    login: root
    password:
    Plus d'info sur ce sujet sur ce blog.

  5. #5
    Membre du Club
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2008
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 141
    Points : 66
    Points
    66
    Par défaut
    Merci le probleme venait bien de là!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Android PHP] Probleme de connexion a la base de données
    Par samybelarbi dans le forum API standards et tierces
    Réponses: 6
    Dernier message: 22/04/2014, 11h01
  2. probleme de connexion a une base de donnée
    Par perloutta dans le forum IIS
    Réponses: 2
    Dernier message: 01/05/2009, 11h56
  3. Probleme de connexion avec une base de données SQL server
    Par lasvegas_parano dans le forum iReport
    Réponses: 29
    Dernier message: 19/07/2007, 10h17
  4. Probleme de connexion a la base de données
    Par Ch'mat dans le forum Access
    Réponses: 2
    Dernier message: 27/06/2006, 15h08
  5. connexion a une base de donné mysql
    Par ithery75 dans le forum Bases de données
    Réponses: 3
    Dernier message: 04/02/2005, 20h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo