Le titre ne veut pas dire grand chose, mais tous les mots clés y sont.
J'ai un problème incompréhensible lors de l'accès à mysql par tomcat.
J'ai un bean qui initialise la connexion entre tomcat et mysql, le paramètre problématique étant l'url de la connexion: "jdbc:mysql://localhost:3306/appli"
Après un reboot, cette url causait une erreur, c'est à dire que la liaison entre mysql et tomcat n'était pas faite. Cela se faisait sentir au premier accès à la base, qui nous rendait un joli nullPointerException. L'url a du être remplacée par "jdbc:mysql://212.xxx.xxx.xxx:3306/appli", c'est à dire qu'il a fallu mettre l'adresse IP à la place de localhost, sans que l'on comprenne pourquoi, alors qu'a priori aucune modification en rapport avec ça n'a eu lieu.
Tout allait bien jusqu'à un autre reboot, après lequel il a fallu remettre l'ancienne ligne, avec localhost, toujours sans que l'on comprenne pourquoi.
Les recherches sur google, les sites de mysql et tomcat n'ont pas apporté de solution.
Voila la configuration de la machine:
redhat 7.2
mysql 3.23
tomcat4 4.1.10
j2sdk 1.4.0
Quelqu'un saurait-il m'expliquer pourquoi il faut mettre parfois localhost, parfois l'adresse IP? J'aimerai réussir à faire en sorte que ça marche à tous les coups.
Merci
# Re: mysql/tomcat: IP vs localhost
Posté par grrrreg . Évalué à 1.
$ netstat -an | grep 3306
?
grrrreg
[^] # Re: mysql/tomcat: IP vs localhost
Posté par lom (site web personnel) . Évalué à 1.
tcp 0 0 127.0.0.1:43244 127.0.0.1:3306 TIME_WAIT
tcp 0 0 127.0.0.1:43245 127.0.0.1:3306 ESTABLISHED
tcp 0 0 127.0.0.1:43241 127.0.0.1:3306 ESTABLISHED
tcp 1 0 127.0.0.1:34483 127.0.0.1:3306 CLOSE_WAIT
Ça ne me semble pas trop mal.
Le port est ouvert, le problème c'est juste que parfois je dois spécifier localhost pour m'y connecter, et au reboot suivant l'adresse IP de la machine. Ça me surprend beaucoup.
# Re: mysql/tomcat: IP vs localhost
Posté par Christophe Martel . Évalué à 1.
[^] # Re: mysql/tomcat: IP vs localhost
Posté par lom (site web personnel) . Évalué à 1.
Une chose étrange à ce coup ci:
En java (tomcat), je dois me connecter à l'url avec localhost, sinon ça ne marche pas (pour le reboot courant, en tout cas).
Par contre, si je veux me connecter à mysql en ligne de commance, je dois mettre l'option -h localhost.localdomain.
localhost, l'adresse IP, le nom de la machine ou le FQDN ne suffisent pas.
[^] # Re: mysql/tomcat: IP vs localhost
Posté par Volnai . Évalué à 1.
regarde du coté du fichier /etc/hosts, de hostname (hostname -f)
Ensuite verifie sur quelles adresses ecoute mysql : netstat -plat | grep mysql
Ah, et verifie par un ifconfig que ton interface lo est bien up, et puis ton iptable aussi ptet.
[^] # Re: mysql/tomcat: IP vs localhost
Posté par lom (site web personnel) . Évalué à 1.
$ cat /etc/hosts
# that require network functionality will fail.
127.0.0.1 localhost localhost.localdomain
212.xxx.xxx.xxx aber aber.sib.fr
$ ifconfig
=> eth0 et lo sont up
$ hostname -f
aber
$ hostname
aber.sib.fr
tiens, ça ne devrait pas être le contraire?
$ domainname
(none)
Bon, ça fait déjà ça à revoir.
[^] # Re: mysql/tomcat: IP vs localhost
Posté par Olivier Grisel (site web personnel) . Évalué à 2.
Exemple:
[quote]
192.168.0.2 mamachine.mondomaine.org mamachine unautrealiaspourmamachine
[/quote]
et j'obtiens :
$ hostname
mamachine
$ hostname -f
mamachine.mondomaine.org
Ce doit donc être ca ton pbm.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.