欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SQLyog連接MySQL8.0+報錯:錯誤號碼2058的解決方案

 更新時間:2023年12月20日 11:15:56   作者:小青龍  
本文將總結如何解決 SQLyog 連接 MySQL8.0+ 時報錯:錯誤號碼2058,文中通過圖文結合和代碼示例給大家總結了三種解決方案,具有一定的參考價值,需要的朋友可以參考下

本文將總結如何解決 SQLyog 連接 MySQL8.0+ 時報錯:錯誤號碼2058

一、問題現(xiàn)象

使用SQLyog連接MySQL8.0+數(shù)據(jù)庫時,報錯:
錯誤號碼2058 Plugin caching_sha2_password could not be loaded

錯誤號碼2058

二、原因分析

出現(xiàn)這個問題,是因為 MySQL 從 8.0 版本開始,新增了caching_sha2_password授權插件,并且新建用戶時默認使用該插件進行加密,而你的 SQLyog 版本無法識別該加密方式加密的密碼。
(多數(shù)情況下是你的SQLyog版本過時了,新的SQLyog已支持識別caching_sha2_password加密方式的密碼)

MySQL :: MySQL 8.0 Reference Manual :: 5.1.8 Server System Variables

mysql授權插件

三、解決方案

1. 方案1:更新SQLyog版本

查看你的SQLyog安裝路徑下,是否有caching_sha2_password.dll動態(tài)庫,如果沒有則說明你的SQLyog版本,不支持通過caching_sha2_password加密的用戶進行連接數(shù)據(jù)庫。

在這里插入圖片描述

查看了一下SQLyog的發(fā)布歷史:Version History - 2019 - SQLyog Knowledge Base (webyog.com)
SQLyog 13.1.3開始,才支持caching_sha2_password授權插件

如果你需要更新SQLyog,你可能需要 SQLyog 各版本下載與安裝

2. 方案2:修改用戶的授權插件

使用有mysql.user表權限的用戶連接mysql并執(zhí)行如下命令:

mysql> ALTER USER 'sqlyog'@'localhost' IDENTIFIED WITH mysql_native_password BY '1234qwer';
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)

解釋:
ALTER USER 'sqlyog'@'localhost' IDENTIFIED WITH mysql_native_password BY '1234qwer',使用mysql_native_password 授權插件更新用戶密碼,sqlyog@localhost換為替換為你自己的user及host

3. 方案3:修復my.cnf 或 my.ini配置文件

查找配置文件(如果你的mysql是安裝在Window下):

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

查找配置文件(如果你的mysql是安裝在Linux或docker里):

sh-4.4# mysql --help | grep 'my.cnf'
                      order of preference, my.cnf, $MYSQL_TCP_PORT,
/etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~/.my.cnf

按順序找配置文件,找到后打開配置文件,在配置文件的[mysqld]下添加如下配置:

default-authentication-plugin=mysql_native_password

修改授權插件

然后重啟mysql服務

Windows 上重啟服務

net stop mysqlnet start mysql

Linux 上重啟服務

systemctl stop mysqld
systemctl start mysqld

Docker 上重啟mysql容器

docker restart mysql81

mysql81使用你的 mysql容器名稱或ID替換

重啟完成后,mysql服務使用的默認加密授權插件就成了mysql_native_password,然后新創(chuàng)建的用戶如果不指定授權插件,那么創(chuàng)建完成后就使用默認插件加密了。

mysql> show variables like 'default_authentication_plugin';
+-------------------------------+-----------------------+
| Variable_name                 | Value                 |
+-------------------------------+-----------------------+
| default_authentication_plugin | mysql_native_password |
+-------------------------------+-----------------------+
1 row in set (0.01 sec)

mysql> CREATE USER 'sqlyog'@'%' IDENTIFIED BY '1234qwer';
Query OK, 0 rows affected (0.04 sec)

mysql> GRANT ALL PRIVILEGES ON *.* TO 'sqlyog'@'%';
Query OK, 0 rows affected (0.02 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.01 sec)

mysql> SELECT user,host,plugin FROM mysql.user;
+------------------+-----------+-----------------------+
| user             | host      | plugin                |
+------------------+-----------+-----------------------+
| root             | %         | caching_sha2_password |
| sqlyog           | %         | mysql_native_password |
| mysql.infoschema | localhost | caching_sha2_password |
| mysql.session    | localhost | caching_sha2_password |
| mysql.sys        | localhost | caching_sha2_password |
| root             | localhost | caching_sha2_password |
+------------------+-----------+-----------------------+
6 rows in set (0.00 sec)

此時再使用新創(chuàng)建的用戶,就可以連接mysql8.0+的數(shù)據(jù)庫了。

在這里插入圖片描述

注意:對于已有的用戶,如果使用的仍是caching_sha2_password加密方式,那么仍無法用SQLyog連接,你可以使用方案2,重新設置其加密方式及密碼。

四、最后總結

  • 嚴格來說上述方案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+報錯的資料請關注腳本之家其它相關文章!

相關文章

  • MySQL時間盲注的五種延時方法實現(xiàn)

    MySQL時間盲注的五種延時方法實現(xiàn)

    MySQL時間盲注主要有五種,sleep(),benchmark(t,exp),笛卡爾積,GET_LOCK() RLIKE正則,本文就主要介紹了這五種方法,感興趣的可以了解一下
    2021-05-05
  • MySQL正則表達式REGEXP使用詳解

    MySQL正則表達式REGEXP使用詳解

    MySQL中正則表達式通常被用來檢索或替換符合某個模式的文本內容,根據(jù)指定的匹配模式匹配文中符合要求的特殊字符串,下面這篇文章主要給大家介紹了關于MySQL正則表達式REGEXP使用的相關資料,需要的朋友可以參考下
    2022-09-09
  • sql語句中l(wèi)ike的用法詳細解析

    sql語句中l(wèi)ike的用法詳細解析

    以下是對sql語句中l(wèi)ike的用法進行了詳細的分析介紹,需要的朋友可以過來參考下
    2013-08-08
  • MySQL更改數(shù)據(jù)字段的前幾位數(shù)字的方法示例

    MySQL更改數(shù)據(jù)字段的前幾位數(shù)字的方法示例

    本文主要介紹了MySQL更改數(shù)據(jù)字段的前幾位數(shù)字的方法示例,包括使用SUBSTRING函數(shù)、REPLACE函數(shù)、LEFT函數(shù),還是正則表達式或者CASE語句,具有一定的參考價值,感興趣的可以了解一下
    2024-08-08
  • 深入淺析MySQL 中 Identifier Case Sensitivity問題

    深入淺析MySQL 中 Identifier Case Sensitivity問題

    這篇文章主要介紹了MySQL 中 Identifier Case Sensitivity,需要的朋友可以參考下
    2018-09-09
  • 關于mysql的時區(qū)問題

    關于mysql的時區(qū)問題

    這篇文章主要介紹了關于mysql的時區(qū)問題,具有很好的參考價值,希望對大家有所幫助,以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家,
    2023-11-11
  • 安裝的mysql中沒有my.ini文件的解決方法

    安裝的mysql中沒有my.ini文件的解決方法

    本文主要介紹了安裝的mysql中沒有my.ini文件的解決方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-03-03
  • MySQL單表查詢實例詳解

    MySQL單表查詢實例詳解

    這篇文章主要給大家介紹了關于MySQL單表查詢的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-09-09
  • Docker中如何修改mysql8默認加密方式

    Docker中如何修改mysql8默認加密方式

    這篇文章主要給大家介紹了關于Docker中如何修改mysql8默認加密方式的相關資料,文中大概介紹了docker啟動命令中添加額外參數(shù)、mysql啟動后使用sql修改以及啟動前掛載修改好的配置文件等方法,需要的朋友可以參考下
    2023-06-06
  • Kettle的MySQL數(shù)據(jù)源版本問題及解決

    Kettle的MySQL數(shù)據(jù)源版本問題及解決

    這篇文章主要介紹了Kettle的MySQL數(shù)據(jù)源版本問題及解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10

最新評論