Access denied for user 'root'@'localhost' (using password: YES) 解决方法

Access denied for user 'root'@'localhost' (using password: YES)

使用SpringBoot 写demo 时MySQL一直连接不上,详细错误信息如下

create connection SQLException, url: jdbc:mysql://localhost:3306/mybatisplus?useSSL=false&useUnicode=true&characterEncoding=utf-8, errorCode 1045, state 28000

配置文件信息如下

application.yml

spring:
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/mybatisplus?useSSL=false&useUnicode=true&characterEncoding=utf-8
    username: root
    password: 000206

数据库结构

去网上查找解决方案,都说密码错误或数据库名称不匹配,但是我反复检查后确认密码和数据库名称匹配的情况依然连接不上数据库,如下图所示,可以使用配置文件内的密码正常登录MySQL

还有人说去掉useUnicode=true 或者设置时区(MySQL8及以上必须设置时区,高版本兼容低版本,即MySQL8以下版本也可以设置时区),但是修改配置后依然无济于事,修改后的url如下所示

jdbc:mysql://localhost:3306/mybatisplus?useSSL=false&characterEncoding=utf-8&serverTimezone=GMT%2B8

还有说把localhost 改为 127.0.0.1 的,我都试了还是连接不上

后来在讨论群里咨询,有人说在密码上加个单引号,我试了试,你猜怎么着,嘿,它还就真的连上了 (°ー°〃)

但是为什么要这么做我并不清楚,希望有大佬看到后能给身为小白的我补充一下知识盲区 ヾ(•ω•`)o

我个人认为可能是密码是纯数字的原因,所以改了个非纯数字的密码测试一下

application.yml 中的密码也改一下,而且不使用单引号将其包裹


结果正如我所料,运行一路畅通,非常 Nice (~ ̄▽ ̄)~

最后,希望能给你带来收获,还有,请知道其中原理的大佬 一定 要不吝赐教,为我指点迷津,感谢了 (๑•̀ㅂ•́)و✧

posted @ 2021-04-07 17:10  時光心向阳  阅读(1370)  评论(0编辑  收藏  举报