關(guān)于useSSL=false和true的區(qū)別及說明
useSSL=false和true的區(qū)別
SSL(Secure Sockets Layer 安全套接字協(xié)議),在mysql進(jìn)行連接的時候,如果mysql的版本是5.7之后的版本必須要加上useSSL=false,mysql5.7以及之前的版本則不用進(jìn)行添加useSSL=false,會默認(rèn)為false,一般情況下都是使用useSSL=false,尤其是在將項目部署到linux上時,一定要使用useSSL=false!??!,useSSL=true是進(jìn)行安全驗證,一般通過證書或者令牌什么的,useSSL=false就是通過賬號密碼進(jìn)行連接,通常使用useSSL=false?。?!
useSSL=false 連接配置詳解
web應(yīng)用中連接mysql數(shù)據(jù)庫時后臺會出現(xiàn)這樣的提示:
Establishing SSL connection without server’s identity verification is not recommended. According to MySQL 5.5.45+,
5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn’t set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to ‘false’. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.
原因是MySQL在高版本需要指明是否進(jìn)行SSL連接。
SSL協(xié)議提供服務(wù)主要
1)認(rèn)證用戶服務(wù)器,確保數(shù)據(jù)發(fā)送到正確的服務(wù)器;
2)加密數(shù)據(jù),防止數(shù)據(jù)傳輸途中被竊取使用;
3)維護(hù)數(shù)據(jù)完整性,驗證數(shù)據(jù)在傳輸過程中是否丟失;
當(dāng)前支持SSL協(xié)議兩層
- SSL記錄協(xié)議(SSL Record Protocol):建立靠傳輸協(xié)議(TCP)高層協(xié)議提供數(shù)據(jù)封裝、壓縮、加密等基本功能支持
- SSL握手協(xié)議(SSL Handshake Protocol):建立SSL記錄協(xié)議用于實際數(shù)據(jù)傳輸始前通訊雙進(jìn)行身份認(rèn)證、協(xié)商加密算法、交換加密密鑰等。
解決方案如下
在mysql連接字符串url中加入ssl=true或者false即可,如下所示。
url=jdbc:mysql://127.0.0.1:3306/framework?useSSL=false
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
MySQL判別InnoDB表是獨立表空間還是共享表空間的方法詳解
這篇文章主要給大家介紹了關(guān)于MySQL判別InnoDB表是獨立表空間還是共享表空間的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-09-09mysql日志文件General_log和Binlog開啟及詳解
MySQL中的數(shù)據(jù)變化會體現(xiàn)在上面日志中,下面這篇文章主要給大家介紹了關(guān)于mysql日志文件General_log和Binlog開啟及詳解的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-07-07