(已解決)com.mysql.jdbc.exceptions.MySQLNonTransientConnectionException: Client does not support authent
阿新 • • 發佈:2020-12-25
技術標籤:webMySQL資料庫mysqljavasql後端
異常:com.mysql.jdbc.exceptions.MySQLNonTransientConnectionException:Client does not support authentication protocol requested by server;consider upgrading MySQL client
問題原因
mysql8 以前的版本加密規則是mysql_native_password,而mysql8之後,加密規則是caching_sha2_password。
在資料庫連線的時候加密規則出現不適配。navicat登入資料庫,連線時也可能會出現同樣的問題。
解決方法
1、首先在資料庫查詢一下自己的MySQL版本
SELECT @@VERSION;
執行結果如下:
2、查詢自己的加密規則
SELECT user,host,plugin from mysql.user
可以看到此時的加密規則為:
3、把使用者密碼登入的加密規則還原成mysql_native_password這種加密方式
alter user 'root'@'localhost' identified with mysql_native_password by 'password';//password是你自己的密碼
flush privileges;#重新整理許可權,使自己的修改生效
再次查詢以後可以看到更改後的加密方式為:
4、問題解決,重新執行即可