Access denied for user "* * *"@"* * *" (using password: YES)

前言

截止到上周周末,已经开始对数据库进行配置了,在这周便开始对数据库进行与后台的连接操作,相比php来说,springboot连接数据库麻烦了好多,还要自己配置文件什么的,好在老师给出了相关文档,但是,全英文的文档对我来说真的不是很友好,好在具体的配置文件还是能看懂的,然后就根据文档指导进行配置。
Accessing data with MySQL

问题

Access denied for user


当我们启动前台时,我们想要的效果是这样的,但实际的结果是:


Access denied for user

打开控制台看一下报错信息,加载信息的时候出错误了,而且是后台的问题

Access denied for user

在进行刷新之后,IDEA也出现了报错的情况:
image.png
当然了,最重要的就是第一句:java.sql.SQLException: Access denied for user 'springuse'@'localhost' (using password: YES) (java.sql.SQLException:拒绝用户“springuse”@“localhost”的访问(使用密码:YES))
这样看来应该是数据库那边出了问题

解决

在文档中,我们了解到,要在 src/main/resources/application.properties 这个文档中添加如下代码:

spring.jpa.hibernate.ddl-auto=update
spring.datasource.url=jdbc:mysql://${MYSQL_HOST:localhost}:3306/db_example
spring.datasource.username=springuser
spring.datasource.password=ThePassword

当时想也没想就粘贴过去了,调了半天也不行,用浏览器把文档翻译了一遍,意思表达的越来越乱,英文的也看不懂,后来就找学长问了问,然后才知道要先创建一个用户,并且数据库名称要与自己数据库的对应,文档中的代码是根据实例来写的,所以对我来说,不适用。


3306/db_example中的db_example就是数据库的名字,我的数据库名字为yunzhi_spring_boot,那么就是3306/yunzhi_spring_boot,
至于新建用户,文档中也给出了代码:

mysql> create user 'springuser'@'%' identified by 'ThePassword'; -- Creates the user
mysql> grant all on db_example.* to 'springuser'@'%'; -- Gives all privileges to the new user on the newly created database

然后就在数据库中“新建查询”,'ThePassword'修改为自己的密码,点击运行代码
Access denied for user

新的问题

每次关机后再开机,这个系统总能给我带点惊喜,在第二天开机启动程序,打算继续往下进行时,又出现了同样的错误,按照昨天晚上的步骤又重新来了一遍,无济于事,还是不成,然后又请教了学长。

解决

Access denied for user
还是user那张表,我们会发现,新建用户的权限都是“N”,也就是NO,没有权限,后来学长查了查,要赋予权限,需要新建一个超级用户,这个超级用户便拥有所有的权限。

grant all privileges on *.* to springuser@'localhost' identified by "×××" with grant option;

使用该语句创建一个用户名为springuser,密码为×××,作用域为localhost 的超级用户,成功,之后多次重启关闭也没有出现错误
MySQL之权限管理

总结

刚接触一种新事物,难免会不适应,有时会觉得这种东西怎么会有人用,但时间久了就会发现很奇妙,很有趣,就像我的ubuntu系统一样,虽然它经常翻车,但是相比Windows来说,它真的很有魅力,相信spring也不会让我失望吧。

你可能感兴趣的:(spring,angularjs,navicat)