1. 程式人生 > 資料庫 >MySQL8 提示Public Key Retrieval is not allowed錯誤解決方法

MySQL8 提示Public Key Retrieval is not allowed錯誤解決方法

在使用jdbc連線到mysql時提示錯誤:

com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Public Key Retrieval is not allowed
原因如下(參考官網給出的連線選項):
  如果使用者使用了 sha256_password 認證,密碼在傳輸過程中必須使用 TLS 協議保護,但是如果 RSA 公鑰不可用,可以使用伺服器提供的公鑰;可以在連線中通過 ServerRSAPublicKeyFile 指定伺服器的 RSA 公鑰,或者AllowPublicKeyRetrieval=True引數以允許客戶端從伺服器獲取公鑰;但是需要注意的是 AllowPublicKeyRetrieval=True可能會導致惡意的代理通過中間人攻擊(MITM)獲取到明文密碼,所以預設是關閉的,必須顯式開啟。

所以可以用mysql_native_password,不要用sha256_password方式,就不會有問題了。