我正在尝试将Spring Boot应用程序连接到已启动并运行的MariaDB服务器。我收到以下错误:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'liquibase' defined in class path resource
...
Caused by: liquibase.exception.DatabaseException: java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)
现在,我看到以前在Stackoverflow上也有人提出过类似的问题,我尝试了最常见的方法,比如授予所有权限:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY '%password%' WITH GRANT OPTION;
并删除root用户的password
:
SET PASSWORD FOR root@localhost=PASSWORD('');
到目前为止,这些方法都不起作用。我无法真正更改.properties文件,但从我所看到的情况来看,每次运行应用程序时都会生成、加密并存储一个密码:
connection.driver_class = com.mysql.jdbc.Driver
connection.url = jdbc:mysql://127.0.0.1:3306/local02?useSSL=true
connection.username = root
connection.password = ../../config/local/dbkey.txt
connection.pool_size = 200
重要的是要强调,我只是在MacOS上遇到这个问题,在Windows上(相同的文件,相同的数据库,相同的IDE)不会出现。
还有什么我可以试试的吗?
1条答案
按热度按时间kse8i1jr1#
据我所知,Spring不允许使用mariaDB的root用户,您必须创建一个新用户并授予特权。