2010-04-18 3 views
1

Я могу развернуть приложение на своей локальной системе .... подключение к той же удаленной базе данных ... однако, когда я развертываю тот же файл войны на сервере ubuntu, я получим следующее исключениеНе удается подключиться к базе данных mysql с помощью tomcat6 на 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) 

Я даже поместил разъем баночку MySQL под tomcat6 Lib direcotry .... Пожалуйста, помогите

+0

Возможно, вам придется предоставлять подключение с локального IP-адреса. Проверьте привилегии на уровне mysql. –

+0

Я не могу четко понять ваше заявление .... Я использую то же имя пользователя и пароль, что и я в своей локальной системе, здесь я могу подключиться через свою локальную систему, но я получаю сообщение об ошибке при развертывании приложения на серверной машине где mysql находится – Rakesh

ответ

1

настроены одинаково два сервера MySQL? Оба разрешают доступ через сокеты TCP и/или локальные сокеты Unix-домена?

«Не удалось подключиться» предполагает, что JDBC не может даже добраться до сервера, чтобы попытаться войти в систему. Если вы подключаетесь через TCP, проверьте, существует ли правило межсетевого экрана, предотвращающее локальные подключения (localhost: * -> localhost: 3306 отрицается). Для локальных сокетов убедитесь, что пользователь Tomcat работает под доступом к файлу сокета, и к каталогу, в котором он находится (должен быть /var/run/mysqld/mysqld.sock).

+0

Из локальной системы и с сервера ubuntu я подключаюсь к той же базе данных mysql. База данных mysql присутствует на той же машине ubuntu. – Rakesh

+0

Итак, на «localsystem.yoursite.com» и «ubuntuntuserver.yoursite.com» оба подключаются к экземпляру mysql, запущенному на «ubuntuserver.yoursite.com»? Или вы имеете в виду, что у каждого сервера есть своя копия mysql, и внутри каждой копии mysql существует тот же набор баз данных/записей? –

+0

Я имею в виду первый «localsystem.yoursite.com» и «ubuntuntuserver.yoursite.com», как подключающиеся к экземпляру mysql, работающему на «ubuntuserver.yoursite.com» » – Rakesh