簡體   English   中英

java.sql.SQLException:訪問被拒絕用戶'root'@'localhost' - 無法創建與 mysql 的連接

[英]java.sql.SQLException: Access denied for user 'root'@'localhost' - Can't create connection with mysql

我創建了一個 Spring 引導項目,我想連接數據庫。

這是一個.property 文件

spring.jpa.open-in-view=true
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://${MYSQL_HOST:localhost}:3306/tracking
spring.datasource.username=root
spring.datasource.password=
server.port=8084
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true

在 MySQL username=root 沒有密碼。

mysql 端口=3306

運行項目時出現以下錯誤。

java.sql.SQLException: Access denied for user 'root'@'localhost'
    at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129) ~[mysql-connector-java-8.0.22.jar:8.0.22]
SQLError.java:129
    at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97) ~[mysql-connector-java-8.0.22.jar:8.0.22]
SQLError.java:97
    at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) ~[mysql-connector-java-8.0.22.jar:8.0.22]
SQLExceptionsMapping.java:122
    at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:836) ~[mysql-connector-java-8.0.22.jar:8.0.22]

我該如何解決這個錯誤?

我正在使用 Ubuntu 操作系統。

另外,我在終端中使用mysql -u root命令連接 mysql 它給出了同樣的錯誤。 因此我使用sudo mysql -u root我可以成功使用 mysql shell

改變

spring.datasource.password=''

spring.datasource.password=

也許是特權的問題。 在 MySQL 服務器端嘗試以下命令。

->GRANT ALL PRIVILEGES ON tracking.* TO 'root'@'localhost';
->FLUSH PRIVILEGES;

參考:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM