Невозможно подключиться к базе данных mysql с помощью tomcat6 в Ubuntu - PullRequest
1 голос
/ 19 апреля 2010

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

1 Ответ

1 голос
/ 19 апреля 2010

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

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

...