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 (~ ̄▽ ̄)~

最后,希望能給你帶來收獲,還有,請知道其中原理的大佬 一定 要不吝賜教,為我指點迷津,感謝了 (๑•̀ㅂ•́)و✧


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM