2017-11-25 89 views
0

所以我创建了下面的命令我的云服务器上的数据库:值java.sql.SQLException:拒绝访问用户app1'@'127.0.0.1'(使用密码:YES)

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

您可以使用数据库管理应用程序中的此用户凭证登录吗? – melanzane

回答

1

问题是你已经创建了一个用户,它可以用来从本地机器通过本地套接字进行连接,而不是通过TCP/IP进行JDBC试图做的事情。您可以阅读JDBC MySQL connection using Unix Socket了解如何使用本地套接字连接到MySQL,或者为将用于TCP/IP连接的主机127.0.0.1创建用户。

相关问题