#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-адрес клиента.
Ответ №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′ (используя пароль: ДА))`