SpringBoot登陸Mysql密碼設置的一坑(java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES))


先說一下我的環境,

Mysql版本:5.5.60 MySQL Community Server (GPL)

SpringBoot:2.2.5.RELEASE

YAML 配置:

spring:
 datasource:
  username: root
  password: 000000
  #Mysql5: com.mysql.jdbc.Driver
  #Mysql6: com.mysql.cj.jdbc.Driver
  driver-class-name: com.mysql.cj.jdbc.Driver
  #Mysql5:jdbc:mysql://localhost:3306/fms?useUnicode=true&characterEncoding=utf8&useSSL=false
  #Mysql6:jdbc:mysql://localhost:3306/fms?serverTimezone=GMT%2B8&useSSL=false
  url: jdbc:mysql://localhost:3306/fms?serverTimezone=GMT%2B8&useSSL=false

 

首先認為我的mysql安裝的時5.X版本,驅動用的com.mysql.cj.jdbc.Drive,會不是因為這個原因造成的。

連接url方式也換成了jdbc:mysql://localhost:3306/fms?useUnicode=true&characterEncoding=utf8&useSSL=false

得知serverTimezone參數為Mysql6必須要配置的參數。

這里我把com.mysql.jdbc.Driver和com.mysql.cj.jdbc.Driver兩種方法全部試了一下,

得到錯誤

java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)

 

於是開始質疑難道真的密碼記錯了。。。登陸mysql測試

 

 

 

 登陸測試完全OK,最終將Yaml配置文件密碼改成"000000",加上引號作為一個字符串傳遞,成功!

分析了一下原因,直接這樣配置在登陸mysql時傳入的字符是0

spring:
 datasource:
  username: root
  password: 000000

改為,作為字符串"000000"

spring:
 datasource:
  username: root
  password: "000000"

最終成功!

 

 

 

 

 


免責聲明!

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



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