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

前言

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

问题

image.png


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


image.png

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

image.png

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

解决

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

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

当时想也没想就粘贴过去了,调了半天也不行,用浏览器把文档翻译了一遍,意思表达的愈来愈乱,英文的也看不懂,后来就找学长问了问,而后才知道要先建立一个用户,而且数据库名称要与本身数据库的对应,文档中的代码是根据实例来写的,因此对我来讲,不适用。sql


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'修改成本身的密码,点击运行代码
image.png
发现表单里多了一个用户(mysql下的user表单),OK,问题解决了,前台显示了数据库中的内容,后台也不报错了。
image.pngubuntu

新的问题

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

解决

屏幕截图_22.png
仍是user那张表,咱们会发现,新建用户的权限都是“N”,也就是NO,没有权限,后来学长查了查,要赋予权限,须要新建一个超级用户,这个超级用户便拥有全部的权限。springboot

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

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

总结

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

相关文章
相关标签/搜索