數據庫連接問題:"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
