当前位置: 首页 > news >正文

白云区建网站网站备案之后

白云区建网站,网站备案之后,衡州网站建设seo,动易学校网站系统文章目录 一、问题现象二、原因分析三、解决方案1. 方案1:更新SQLyog版本2. 方案2:修改用户的授权插件3. 方案3:修复my.cnf 或 my.ini配置文件 四、最后总结 本文将总结如何解决 SQLyog 连接 MySQL8.0 时报错:错误号码2058 一、问…

文章目录

    • 一、问题现象
    • 二、原因分析
    • 三、解决方案
      • 1. 方案1:更新SQLyog版本
      • 2. 方案2:修改用户的授权插件
      • 3. 方案3:修复my.cnf 或 my.ini配置文件
    • 四、最后总结

本文将总结如何解决 SQLyog 连接 MySQL8.0+ 时报错:错误号码2058

一、问题现象

使用SQLyog连接MySQL8.0+数据库时,报错:
错误号码2058 Plugin caching_sha2_password could not be loaded

错误号码2058

二、原因分析

出现这个问题,是因为 MySQL 从 8.0 版本开始,新增了caching_sha2_password授权插件,并且新建用户时默认使用该插件进行加密,而你的 SQLyog 版本无法识别该加密方式加密的密码。
(多数情况下是你的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动态库,如果没有则说明你的SQLyog版本,不支持通过caching_sha2_password加密的用户进行连接数据库。

在这里插入图片描述

查看了一下SQLyog的发布历史:Version History - 2019 - SQLyog Knowledge Base (webyog.com)
SQLyog 13.1.3开始,才支持caching_sha2_password授权插件

如果你需要更新SQLyog,你可能需要 SQLyog 各版本下载与安装

2. 方案2:修改用户的授权插件

使用有mysql.user表权限的用户连接mysql并执行如下命令:

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 mysql
net start mysql

Linux 上重启服务

systemctl stop mysqld
systemctl start mysqld

Docker 上重启mysql容器

docker restart mysql81

mysql81使用你的 mysql容器名称或ID替换

重启完成后,mysql服务使用的默认加密授权插件就成了mysql_native_password,然后新创建的用户如果不指定授权插件,那么创建完成后就使用默认插件加密了。

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)

此时再使用新创建的用户,就可以连接mysql8.0+的数据库了。

在这里插入图片描述
注意:对于已有的用户,如果使用的仍是caching_sha2_password加密方式,那么仍无法用SQLyog连接,你可以使用方案2,重新设置其加密方式及密码。

四、最后总结

  1. 严格来说上述方案3方案2是一样的(不太推荐方案3)。
    方案3仅是将服务器默认的授权插件改为了mysql_native_password,它仅对新创建的用户起作用(前提是创建用户时没有指定授权插件),并不会影响已有的用户的加密方式。如果想使用已有用户连接mysql,需使用方案2重新设置其授权插件及密码。
  2. 方案1更新SQLyog的方案还是值得尝试的,毕竟是一劳永逸的事儿。更新SQLyog 13.1.3+后,无论连接用户使用什么授权插件,都可连接上。

http://www.yayakq.cn/news/132716/

相关文章:

  • 网站建设 业务走下坡wordpress最简单搬家
  • 股票配资网站开发网页制作题库
  • 广告设计网站哪个好100个农村电商平台
  • 校园图书回收网站建设专门做动漫的网站
  • 移动网站建设cnfg谷歌浏览器官网手机版
  • 设计图的网站响应式布局和自适应布局
  • 玉林做网站公司想学网站建设优化去哪
  • 凡科怎么做网站两学一做网站
  • 北京做网站男生工资战略咨询
  • 优秀的html5网站 2016百度标注平台怎么加入
  • 京东的网站是哪家公司做的免费算生辰八字算命
  • 福州网站建设推进免费logo网站
  • 网站开发 入门 pdf信息流广告公司排名
  • 交互设计网站案例wordpress的退款期限
  • 人才网站的seo怎么做相城苏州网站建设
  • 网站说明怎么写淮北专业网站建设
  • 做料理网站关键词怎么设置用于制作网站的软件
  • 微信小说网站开发航空网站建设
  • 网站制作呼和浩特企业邮箱是哪个
  • 商丘网站建设大全汕头seo排名收费
  • 衡水专业网站制作wordpress最新编辑器怎么还原
  • 泰安网站制作推广广州建设银行保安招聘网站
  • 陕西网站建设公司找哪家好网站二级页面需不需要设置关键词
  • 聊城网站建设开发即
  • spring mvc 网站开发自己开公司 自己做网站吗
  • 免费com域名网站初创品牌网站建设
  • linux做网站网络课堂wordpress 程序员主题
  • 网店设计实训报告产品网站别人是如何做优化的
  • 网站推广营销效果做蛋糕的网站
  • 网站优化 前端怎么做有网站源代码能自己做网站吗