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 ungario lucen . Évalué à -1.
# En fait, je connais rien à Java...
Posté par mac . Évalué à 2.
"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 arn100 . Évalué à 1.
#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 mouling . Évalué à 1.
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 arn100 . Évalué à 1.
[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 mac . Évalué à 2.
[^] # Re: En fait, je connais rien à Java...
Posté par arn100 . Évalué à 1.
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 arn100 . Évalué à 1.
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.