在跟着視頻練習時,又遇到一個問題,解決方案如下:
在使用 MySQL 8.0 時重啟應用后提示 com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Public Key Retrieval is not allowed
最簡單的解決方法是在連接后面添加 allowPublicKeyRetrieval=true
文檔中(https://mysql-net.github.io/MySqlConnector/connection-options/)給出的解釋是:
如果用戶使用了 sha256_password 認證,密碼在傳輸過程中必須使用 TLS 協議保護,但是如果 RSA 公鑰不可用,可以使用服務器提供的公鑰;可以在連接中通過 ServerRSAPublicKeyFile 指定服務器的 RSA 公鑰,或者AllowPublicKeyRetrieval=True參數以允許客戶端從服務器獲取公鑰;但是需要注意的是 AllowPublicKeyRetrieval=True可能會導致惡意的代理通過中間人攻擊(MITM)獲取到明文密碼,所以默認是關閉的,必須顯式開啟
---------------------
作者:嗚嗚嗚啦啦啦
來源:CSDN
原文:https://blog.csdn.net/u013360850/article/details/80373604
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!