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