2017-11-25 113 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創建用戶。

相關問題