无法创建与mysql的连接

83qze16e  于 2021-07-14  发布在  Java
关注(0)|答案(2)|浏览(281)

我创建了一个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

sh7euo9m

sh7euo9m1#

也许是特权的问题。在mysql服务器端尝试下面的命令。

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

参考文献:
https://chartio.com/resources/tutorials/how-to-grant-all-privileges-on-a-database-in-mysql/#:~:text=to%20grant%20all%20privileges%20to,to%20%27username%27%40%27localhost%27%3b

anauzrmj

anauzrmj2#

改变

spring.datasource.password=''

spring.datasource.password=

相关问题