之前遇到的一个问题,在连接MySQL数据库的时候,会报错,错误内容如下:
2020-09-03 18:15:05.147 [main] ERROR com.alibaba.druid.pool.DruidDataSource:936 - init datasource error, url: jdbc:mysql://127.0.0.1:3306/jeecg-boot?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghaijava.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)

就是初始化数据源出错,数据库拒绝连接,当时找了很多方法,都没有解决,什么仔细看有没有多的空格之类的,因为yml的语法格式很严格,所以我只是以为可能是自己的书写不严谨,但是当时找了很长时间,我敢保证没有这种问题,网上的各种方法都试了,没有解决,决定弃用了yml作为配置文件,换成了properties,虽然避免出现了这个问题,但是终究不是办法,今天又尝试了使用yml,果然出错了,一如上次,找了很多的方法,还是没有用,突发奇想,是不是在username和password上打上双引号就没问题了,一试,果然如此,因为网上大部分的博客和视频教程使用的yml不加引号也没有出现这种问题,竟不知道yml什么时候换了语法格式。
# 这样写会报错datasource:master:url: jdbc:mysql://127.0.0.1:3306/jeecg-boot?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghaiusername: rootpassword: 123456driver-class-name: com.mysql.cj.jdbc.Driver# 这样就不会出现问题了datasource:master:url: jdbc:mysql://127.0.0.1:3306/jeecg-boot?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghaiusername: "root"password: "123456"driver-class-name: com.mysql.cj.jdbc.Driver

文章转载自爱德华的奇妙生活,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




