【问题标题】:Tomcat 7 with MySql带有 MySql 的 Tomcat 7
【发布时间】:2011-11-11 09:02:27
【问题描述】:

我使用 Mac OSx 10.6 并希望将 Tomcat 7 服务器与 MySql db 一起使用。我的 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")

有人可以帮助我吗?

【问题讨论】:

    标签: java mysql tomcat tomcat7


    【解决方案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 客户端进行连接吗?

        在shell类型中

        mysql -ujavauser -p
        

        如果不是,那么 duffymo 可能是正确的。

        【讨论】:

        • 确保您已授予来自 127.0.0.1 和 192.168.0.100 的连接的权限
        • 我为两者都授予了权限,但现在有了新的例外:`无法创建 PoolableConnectionFactory(用户'javauser'@'192.168.0.100'的访问被拒绝(使用密码:YES))`
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-02-25
        • 2012-03-11
        • 2017-05-06
        • 2013-08-29
        • 2013-08-05
        • 2016-04-29
        • 1970-01-01
        相关资源
        最近更新 更多