Tomcat 7 с MySQL

#java #mysql #tomcat #tomcat7

#java #mysql #tomcat #tomcat7

Вопрос:

Я использую Mac OSx 10.6 и хочу использовать сервер Tomcat 7 с базой данных MySQL. Мой context.xml файл:

 <?xml version='1.0' encoding='utf-8'?>
<Context>

    <Resource name="jdbc/TestDB" auth="Container" type="javax.sql.DataSource"
           factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"
           maxActive="100" maxIdle="30" maxWait="10000"
           username="javauser" password="javadude" driverClassName="com.mysql.jdbc.Driver"
           url="jdbc:mysql://localhost:3306/javatest"/>
</Context>
  

И мой дескриптор развертывания:

 <?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:javaee="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" id="WebApp_ID" version="2.4">
    <display-name>Love Finder</display-name>
     <servlet>
    <servlet-name>customer</servlet-name>
    <servlet-class>com.neya.love.finder.pl.CustomerServlet</servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name>customer</servlet-name>
    <url-pattern>/customer.do</url-pattern>
    </servlet-mapping>

    <welcome-file-list>
       <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
    <resource-ref>
        <description>DB Connection</description>
        <res-ref-name>jdbc/TestDB</res-ref-name>
        <res-type>javax.sql.DataSource</res-type>
        <res-auth>Container</res-auth>
    </resource-ref>
</web-app>
  

У меня есть таблица javatest , но при подключении к базе данных у меня возникает это исключение:

 org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (null,  message from server: "Host '192.168.0.100' is not allowed to connect to this MySQL server")
  

Кто-нибудь может мне помочь?

Ответ №1:

Вы захотите ПРЕДОСТАВИТЬ разрешения этому серверу. MySQL требует имя пользователя, пароль и IP-адрес клиента.

http://dev.mysql.com/doc/refman/5.1/en/adding-users.html

Ответ №2:

Возможно, вы захотите проверить, содержит ли ваш файл конфигурации MySQL (my.ini) следующую запись:

  #Don't allow connections via TCP/IP.
 skip-networking
  

Ответ №3:

Можете ли вы подключиться, используя клиент MySQL на компьютере?

В виде оболочки

 mysql -ujavauser -p
  

Если нет, то duffymo, вероятно, правильный.

Комментарии:

1. Убедитесь, что вы предоставили права для подключений как с 127.0.0.1, так и с 192.168.0.100

2. Я предоставил права для обоих, но теперь появилось новое исключение: `Не удается создать PoolableConnectionFactory (Доступ запрещен для пользователя ‘javauser’ @’192.168.0.100′ (используя пароль: ДА))`