數據庫連接問題:"Connections could not be acquired from the underlying database!"的解決方法


數據庫連接問題:"Connections could not be acquired from the underlying database!"的解決方法

 

1.在學習spring-secutity的時,使用正確的賬號密碼登錄成功之后查看用戶管理的時候報錯

 

2.之后各種搜,發現沒有一個可以解決我的問題

 

3.后來對比了一下之間項目的“數據庫連接池”的數據

  在將jdbcUrl中的"useSSL=true"換成“useSSL=false”,問題就解決了

 

 

 

 database.properties

1 driverClass=com.mysql.jdbc.Driver
2 jdbcUrl=jdbc:mysql://localhost:3306/ssm_order?useSSL=false&useUnicode=true&characterEncoding=utf8
3 user=root
4 password=111111

 

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


免責聲明!

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



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