截止到上周周末,已经开始对数据库进行配置了,在这周便开始对数据库进行与后台的链接操做,相比php来讲,springboot链接数据库麻烦了好多,还要本身配置文件什么的,好在老师给出了相关文档,可是,全英文的文档对我来讲真的不是很友好,好在具体的配置文件仍是能看懂的,而后就根据文档指导进行配置。
Accessing data with MySQLphp
当咱们启动前台时,咱们想要的效果是这样的,但实际的结果是:html
打开控制台看一下报错信息,加载信息的时候出错误了,并且是后台的问题java
在进行刷新以后,IDEA也出现了报错的状况:
固然了,最重要的就是第一句: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'修改成本身的密码,点击运行代码
发现表单里多了一个用户(mysql下的user表单),OK,问题解决了,前台显示了数据库中的内容,后台也不报错了。ubuntu
每次关机后再开机,这个系统总能给我带点惊喜,在次日开机启动程序,打算继续往下进行时,又出现了一样的错误,按照昨天晚上的步骤又从新来了一遍,无济于事,仍是不成,而后又请教了学长。浏览器
仍是user那张表,咱们会发现,新建用户的权限都是“N”,也就是NO,没有权限,后来学长查了查,要赋予权限,须要新建一个超级用户,这个超级用户便拥有全部的权限。springboot
grant all privileges on *.* to springuser@'localhost' identified by "×××" with grant option;
使用该语句建立一个用户名为springuser,密码为×××,做用域为localhost 的超级用户,成功,以后屡次重启关闭也没有出现错误
MySQL之权限管理
刚接触一种新事物,不免会不适应,有时会以为这种东西怎么会有人用,但时间久了就会发现很奇妙,颇有趣,就像个人ubuntu系统同样,虽然它常常翻车,可是相比Windows来讲,它真的颇有魅力,相信spring也不会让我失望吧。