1. 程式人生 > 實用技巧 >SQLyog13.1.1連線MySQL 8.0.19時出現的2058錯誤,加密方式因版本支援問題解決方法。

SQLyog13.1.1連線MySQL 8.0.19時出現的2058錯誤,加密方式因版本支援問題解決方法。

出現這種錯誤是mysql8以後的新版本修改了新的加密方法,加密方法為:

caching_sha2_password

而舊版本的mysql加密方法為:

mysql_native_password

解決方法有三種方案

方案一

更換最新的SQLyog 工具,新的SQLyog 13.1.5 就啟用了新的加密方法,就沒有此類的問題出現。

方案二

在新的 mysql 8.0.19 登入,建立一個新賬號,採用舊的加密方法,再授權超級管理員,使用此管理員登入也可以使用。程式碼如下:

mysql> create user admin identified with mysql_native_password by 'admin';
Query OK, 0 rows affected (0.35 sec) mysql> grant all on *.* to admin; Query OK, 0 rows affected (0.18 sec) mysql> flush privileges; Query OK, 0 rows affected (0.09 sec)

 


方案三

直接修改當前root的加密方法為舊的加密方法, 以後也可以通過此方法修改回來。

mysql> alter user 'root'@'localhost' identified with mysql_native_password by '';
Query OK, 0 rows affected (0.18 sec) mysql> flush privileges; Query OK, 0 rows affected (0.04 sec)

 

修改新的加密方法

ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY '';