SQLyog連接MySQL8.0+報錯:錯誤碼2058的解決方案
更新時間:2024年07月06日 13:44:05 作者:simplyou
使用sqlyog連接數據庫過程中出現2058錯誤,出現的原因是因為MYSQL8.0對密碼的加密方式進行了改變,這篇文章主要給大家介紹了關于SQLyog連接MySQL8.0+報錯:錯誤碼2058的解決方案,需要的朋友可以參考下
最近把mysql從5.7遷移到8.3.0發(fā)現連接不上 因為 MySQL 從 8.0 版本開始,新增了caching_sha2_password
授權插件
1.更換sqlyog 更新到13.1.3之后的版本
2.取消mysql8的加密授權機制
mysql> ALTER USER 'sqlyog'@'%' IDENTIFIED WITH mysql_native_password BY 'mysql8.0.'; Query OK, 0 rows affected (0.03 sec) mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.03 sec) mysql> SELECT user,host,plugin FROM mysql.user; +------------------+-----------+-----------------------+ | user | host | plugin | +------------------+-----------+-----------------------+ | mysql.infoschema | localhost | caching_sha2_password | | mysql.session | localhost | caching_sha2_password | | mysql.sys | localhost | caching_sha2_password | | root | localhost | caching_sha2_password | | sqlyog | localhost | mysql_native_password | +------------------+-----------+-----------------------+ 5 rows in set (0.00 sec)
3.更改my.cnf配置文件
找到這些文件修改 以docker容器為例
/etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~/.my.cnf
win 下的文件
C:\Users\Administrator>mysql --help | findstr "my.ini" C:\WINDOWS\my.ini C:\WINDOWS\my.cnf C:\my.ini C:\my.cnf D:\Chen\MySoft\mysql-8.1.0-winx64\my.ini D:\Chen\MySoft\mysql-8.1.0-winx64\my.cnf
按順序找配置文件,找到后打開配置文件,在配置文件的[mysqld]
下添加如下配置
default-authentication-plugin=mysql_native_password
重啟mysql服務
4.總結
- 嚴格來說上述方案3、方案2是一樣的(不太推薦方案3)。
- 方案3僅是將服務器默認的授權插件改為了
mysql_native_password
,它僅對新創(chuàng)建的用戶起作用(前提是創(chuàng)建用戶時沒有指定授權插件),并不會影響已有的用戶的加密方式。如果想使用已有用戶連接mysql,需使用方案2重新設置其授權插件及密碼。 - 方案1 更新SQLyog的方案還是值得嘗試的,畢竟是一勞永逸的事兒。更新SQLyog 13.1.3+后,無論連接用戶使用什么授權插件,都可連接上。
到此這篇關于SQLyog連接MySQL8.0+報錯:錯誤碼2058的解決方案的文章就介紹到這了,更多相關SQLyog連接MySQL8.0報錯內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!