資料庫連線問題:"Connections could not be acquired from the underlying database!"的解決方法
阿新 • • 發佈:2021-10-28
資料庫連線問題:"Connections could not be acquired from the underlying database!"的解決方法
1.在學習spring-secutity的時,使用正確的賬號密碼登入成功之後檢視使用者管理的時候報錯
2.之後各種搜,發現沒有一個可以解決我的問題
3.後來對比了一下之間專案的“資料庫連線池”的資料
在將jdbcUrl中的"useSSL=true"換成“useSSL=false”,問題就解決了
4.總結一下useSSL=false或true的區別:
SSL協議提供服務主要:
1)認證使用者伺服器,確保資料傳送到正確的伺服器; .
2)加密資料,防止資料傳輸途中被竊取使用;
3)維護資料完整性,驗證資料在傳輸過程中是否丟失;
當前支援SSL協議兩層:
SSL記錄協議(SSL Record Protocol):建立靠傳輸協議(TCP)高層協議提供資料封裝、壓縮、加密等基本功能支援
SSL握手協議(SSL Handshake Protocol):建立SSL記錄協議用於實際資料傳輸始前通訊雙進行身份認證、協商加密演算法、 交換加密金鑰等。
在 mysql 進行連線的時候,mysql 高版本需要指明是否進行SSL連線。
不建議在沒有伺服器身份驗證的情況下建立SSL連線,且必須要設定顯式選項,因為mysql5.7之後的版本都預設useSSL=true,所以需要通過設定useSSL=false來顯式禁用SSL;
或者設定useSSL=true併為伺服器證書驗證提供信任儲存。
參考文章:https://blog.csdn.net/qq_45151059/article/details/114297848