java.sql.SQLException:用户访问被拒绝' app1' @' 127.0.0.1' (使用密码:是)

时间:2017-11-25 11:20:01

标签: java mysql bitnami

所以我使用以下命令在我的云服务器上创建了一个数据库:

mysql> create database app1;
Query OK, 1 row affected (0.02 sec)

mysql> grant all privileges on app1.* TO 'app1'@'localhost' 
identified by 'abcdefg';
Query OK, 0 rows affected (0.02 sec)

然后我更新了我的persistance.xml,如下所示:

    <persistence-unit name="app1">
    <properties>
        <property name="javax.persistence.jdbc.driver" value="com.mysql.cj.jdbc.Driver" />
        <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/app1" />
        <property name="javax.persistence.jdbc.user" value="app1" />
        <property name="javax.persistence.jdbc.password" value="abcdefg" />
        <property name="javax.persistence.schema-generation.database.action"
            value="create" />
        <property name="hibernate.show_sql" value="true" />
    </properties>
</persistence-unit>

但是当我尝试从浏览器访问该网站时,我仍然遇到此错误:

java.sql.SQLException: Access denied for user 'app1'@'127.0.0.1' (using password: YES)

我验证了用户存在:

SELECT User FROM mysql.user;

可能导致此问题的原因??

1 个答案:

答案 0 :(得分:1)

问题在于您创建了一个用户,该用户只能通过本地套接字从本地计算机连接,而不能通过TCP / IP连接JDBC尝试执行的操作。您可以阅读JDBC MySQL connection using Unix Socket有关如何使用本地套接字连接到MySQL或为主机127.0.0.1创建用户,该用户将用于TCP / IP连接。