2010-04-18 4 views
1

Je suis capable de déployer l'application sur mon système local ... en me connectant à la même base de données distante ... cependant quand je déploie le même fichier war sur le serveur ubuntu obtenir l'exception suivanteImpossible de se connecter à la base de données mysql en utilisant tomcat6 sur ubuntu

javax.servlet.ServletException: Could not connect to wikipedia database... 
    org.wikipedia.miner.service.WikipediaMinerServlet.init(WikipediaMinerServlet.java:81) 
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    java.lang.reflect.Method.invoke(Method.java:616) 
    org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:244) 
    java.security.AccessController.doPrivileged(Native Method) 
    javax.security.auth.Subject.doAsPrivileged(Subject.java:537) 
    org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:276) 
    org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:162) 
    org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:115) 
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) 
    org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845) 
    org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) 
    org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) 
    java.lang.Thread.run(Thread.java:636) 

J'ai même placé le pot de connecteur mysql sous tomcat6 lib direcotry .... S'il vous plaît aider

+0

Vous devrez peut-être accorder la connexion à partir de l'adresse IP locale. Vérifiez les privilèges au niveau mysql. –

+0

Je suis incapable de comprendre votre déclaration clairement .... J'utilise le même nom d'utilisateur et mot de passe que j'utilise dans mon système local ici je peux me connecter via mon système local mais j'obtiens une erreur lors du déploiement de l'application sur le serveur où mysql réside – Rakesh

Répondre

1

sont les deux serveurs MySQL configurés de manière identique? Les deux autorisent l'accès via des sockets TCP et/ou des sockets locaux Unix-domain? "Ne peut pas se connecter" suggère que JDBC ne peut même pas atteindre le serveur pour essayer de se connecter. Si vous vous connectez via TCP, vérifiez s'il existe une règle de pare-feu empêchant les connexions locales (localhost: * -> localhost: 3306 est refusé). Pour les sockets locaux, vérifiez que l'utilisateur Tomcat en cours d'exécution a accès à la fois au fichier socket et au répertoire dans lequel il se trouve (doit être /var/run/mysqld/mysqld.sock).

+0

Depuis le système local et depuis le serveur ubuntu, je me connecte à la même base de données mysql. La base de données mysql est présente sur la même machine ubuntu. – Rakesh

+0

Donc sur "localsystem.yoursite.com" et "ubuntuntuserver.yoursite.com" tous les deux se connectent à une instance de mysql fonctionnant sur "ubuntuserver.yoursite.com"? Ou voulez-vous dire que chaque serveur a sa propre copie de mysql, et dans chaque copie de mysql le même ensemble de bases de données/enregistrements existe? –

+0

Je veux dire le premier "" localsystem.yoursite.com "et" ubuntuntuserver.yoursite.com "tous les deux se connectent à une instance mysql fonctionnant sur 'ubuntuserver.yoursite.com'" – Rakesh

Questions connexes