SpringBoot項目連接數據庫報錯:Access denied for user 'root'@'localhost' (using password: YES)

原文鏈接:https://blog.csdn.net/u012862619/article/details/80482485,博主已經寫的很詳細,我就直接拿過來了,小問題需謹慎。

SpringBoot項目配置文件有兩種格式,常用的application-xx.properties和最新的application-xx.yml。
運行項目時常常出現以上錯誤。一般是兩個原因導致的:要麼是連接信息配置錯誤,要麼就是數據庫未授權。

1、連接信息配置錯誤
properties方式配置的話,只要填寫正確的用戶名和密碼,一般不會出錯。不過yml配置的坑就大了。

這段配置就導致報錯啦

spring:
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false
    username: root
    password: 000000

密碼需要加上雙引號或者單引號都

spring:
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false
    username: root
    password: "000000"

注意了,yml是區分數據類型的,所以如果用戶名或者密碼是數字的話,就要小心了。所以如果password爲000000的話,最終獲取到的值是0,顯然不對,那麼6個0怎麼表示呢?只能用字符串"000000",這樣獲取到的密碼就是正確的了!

2、數據庫授權失敗
如果以上信息都配置正確的話,很可能是數據庫授權失敗,所以請先進數據庫對當前遠程用戶授權。

從控制檯進入MySQL環境
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你的密碼' WITH GRANT OPTION;
1
刷新權限表
FLUSH PRIVILEGES;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章