解决SQLyog连接MySQL8时报错:错误号码2058

大家好,又见面了,我是你们的朋友全栈君。

前言

使用SQL8.0的用户在使用MySQLyog连接时,SQLyog连接MySQL8时报错:错误号码2058。

本文将介绍2种解决方法。

sqlyog配置新连接报错原因: 新版的MySQL8.0加密方法变了

具体原因:新的MySQL 8.0安装,在初始化数据目录时,将 ‘root’@’localhost’创建帐户,并且该帐户caching_sha2_password默认使用,密码的加密方法发生了改变,因此SQLyog不能正常解析,才报出如上错误。

解决: 修改MySQL8.0的身份认证

教程
相同的方法不一定对每个人的电脑都有用,请自行尝试每一种方法!
不管用哪一种方法,用完必须重启MySQL再进行SQLyog尝试连接。
方法一:

1.输入mysql -uroot -p 2.输入密码 3.执行

代码语言:javascript代码运行次数:0运行复制
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';          1

其中

root
是用户名,
password
是密码

显示

Query OK, 0 rows affected (0.01 sec)
就代表修改成功

方法二:

编辑my.ini文件,更改默认的身份认证插件。

查找my.ini位置文件位置:

登录mysql输入

show variables like '%data%'

my.ini配置文件在Data上一级目录

C:\ProgramData\MySQL\MySQL Server 8.0

当然你有Everthing直接搜索my.ini即可。

搜索

my.ini

打开

my.ini
之后在[mysqld]中添加下边的代码

代码语言:javascript代码运行次数:0运行复制
default_authentication_plugin=mysql_native_password          1

找到

mysqld

在mysqld下面添加代码

然后重启MySQL

以管理员身份运行cmd

停止mysql

代码语言:javascript代码运行次数:0运行复制
net stop mysql80          1

启动mysql

代码语言:javascript代码运行次数:0运行复制
net start mysql80          1

注意:最后面加上你的MySQL服务名(例如我的是

mysql80

测试连接:

连接成功

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/203563.html原文链接:https://javaforall.cn