Forum général.général serveur mysql accédé avec jsp - problème de password

Posté par  .
Étiquettes : aucune
0
12
avr.
2005
Bonjour!

J'ai un soucis concernant l'administration de ma base de données mysql. Je l' "administre" en ligne de commande (non pas avec phpmyadmin ou autres...)


Ma base de données mysql est "archive" et j'y accède en jsp :

Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/archive","root,"");


jusqu'ici pas de problème, je peux accéder à la base faire des requêtes....

Rentrons au coeur du problème :

mysql> select * from mysql.user;
me renvoie qu'une seule ligne du style:

Host user password ...
localhost root ...

mais lorsque je veux mettre un mot de passe ( au seul utilisateur de la base), je fais :

mysql> SET PASSWORD FOR root@localhost=PASSWORD('toto');

jusqu'ici ca marche normalement mais lorsque j'indique le mot de passe "toto" dans le jsp, comme ca :

Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/archive","root,"toto");



J'ai une erreur !

voici la trace :
javax.servlet.ServletException: Communication failure during handshake. Is there a server running on localhost:3306?
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:848)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:781)
org.apache.jsp.services.index_jsp._jspService(org.apache.jsp.services.index_jsp:141)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


Je comprend rien. J'aurais oublié un truc? (ou rien compris tout simplement)...

merci pour votre aide.

ma config :

- mysql 4.1.11
- tomcat 5.5.7 avec une page jsp avec accès à ma base de données.
  • # +1

    Posté par  . Évalué à -1.

    +1
  • # En fait, je connais rien à Java...

    Posté par  . Évalué à 2.

    Mais il te pose une question pourtant claire :

    "Communication failure during handshake. Is there a server running on localhost:3306?"

    Je parie que la réponse est "non" :)
    • [^] # Re: En fait, je connais rien à Java...

      Posté par  . Évalué à 1.

      j'essaye d'y accédé depuis ma machine... (et si je ne met pas de mot de passe ca marche bien pourtant... argh...)

      #telnet localhost:3306
      telnet: localhost:3306 : Temporary failure in name resolution
      localhost:3306: Host name lookup failure


      c'est normal?
      • [^] # Re: En fait, je connais rien à Java...

        Posté par  . Évalué à 1.

        $man telnet
        nous donne (entre autres, j'allège) :
        SYNOPSIS
        telnet [-8] [-E] [-F] [-K] [-L] [-S tos] [-X authtype]
        [-a] [-c] [-d] [-e escapechar] [-f] [-k realm] [-l user]
        [-n tracefile] [-r] [-x] [host [port]]

        donc
        #telnet localhost 3306
        a déjà plus de chances de marcher.

        Sinon, tu as fait un "FLUSH PRIVILEGES" après la modif de mdp mysql ?
        • [^] # Re: En fait, je connais rien à Java...

          Posté par  . Évalué à 1.

          effectivement....


          [root@localhost root]# telnet localhost 3306
          Trying 127.0.0.1...
          Connected to localhost.
          Escape character is '^]'.
          8
          4.1.11-log%Gï¿¿%@>fiZfq)q,#S[Qd%'3i<.p

          Bad handshakeConnection closed by foreign host.
          [root@localhost root]#


          Il s'y connecte 1 seconde et se déconnecte... ? bizar....

          >Sinon, tu as fait un "FLUSH PRIVILEGES" après la modif de mdp mysql

          Oui je l'ai essayé déjà, mais de tte façon avec SET PASSORD c'est fait par défaut je crois.

          je cherche toujours... :)
      • [^] # Re: En fait, je connais rien à Java...

        Posté par  . Évalué à 2.

        Un indice dans cette jungle... moi, je jetterai un oeil à skip-networking dans my.cnf
        • [^] # Re: En fait, je connais rien à Java...

          Posté par  . Évalué à 1.

          quand je décommente cette option dans my.cnf j'obtiens une nouvelle question en exécutant mon jsp :

          javax.servlet.ServletException: Cannot connect to MySQL server on localhost:3306. Is there a MySQL server running on the machine/port you are trying to connect to? (java.net.ConnectException)
          org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:848)
          org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:781)
          org.apache.jsp.services.index_jsp._jspService(org.apache.jsp.services.index_jsp:160)
          org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
          javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
          org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
          org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
          org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
          javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

          je ne suis pas plus avancé mais bon je vais essayer de creuser un peu plus.
        • [^] # Re: En fait, je connais rien à Java...

          Posté par  . Évalué à 1.

          J'ai fini par trouver... un problème à deux balles comme d'habitude : Je n'utilisais pas les bons dirvers mysql !

          En fait j'avais téléchargé jspmyadmin fut un temps, et j'utilisais les dirvers de jspmyadmin! Cet utilitaire n'a pas évolué depuis 4-5 ans.... les drivers n'étaient pas à jours (ou pas conforme...)

          Bref en téléchargant les bons drivers mysql (en .jar) ca marche !


          Petite question pour finir... :

          lequel de ces drivers est le mieux :

          org.gji.mm.mysql.Driver
          ou
          com.mysql.jdbc.Driver ?


          Encore merci.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.