MYSQL连接时错误码2059解决办法
Posted LQS_Android
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MYSQL连接时错误码2059解决办法相关的知识,希望对你有一定的参考价值。
一、问题原因:
如上图的报错提示可知,报错原因是caching_sha2_password不能加载。
这是因为8.0之后mysql更改了密码的加密规则,而目前已有的客户端连接软件还不支持Mysql8新增加的加密方式caching_sha2_password,所以我们需要修改用户的加密方式,将其改为老的加密验证方式。
二、解决步骤:
1、在win的左下角,输入cmd,打开cmd窗口;
2、在命令行终端中进入到mysql的安装目录bin目录下;
回车就行了。
3、登录mysql,
mysql -u root -p
复制上面命令,进入命令行终端,右击鼠标会自动粘贴(我的Windows10系统是这样的),回车执行,会输出如下结果:
然后分别执行下面3个命令:
4、修改加密规则
alter user root@localhost identified by 'password' password expire never;
5、更新密码(如果你需要更改密码,将后面的单引号中的password替换为你的密码如‘123456’)
alter user root@localhost identified with mysql_native_password by 'password';
6、刷新
flush privileges;
我的所有执行过程:如下
Microsoft Windows [版本 10.0.19044.1706]
(c) Microsoft Corporation。保留所有权利。
C:\\Users\\123>d:
D:\\>cd D:\\Program Files (x86)\\mysql8.0.28\\bin
D:\\Program Files (x86)\\mysql8.0.28\\bin>mysql -u root -p
Enter password: ******
Welcome to the MySQL monitor. Commands end with ; or \\g.
Your MySQL connection id is 67
Server version: 8.0.28 MySQL Community Server - GPL
Copyright (c) 2000, 2022, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\\h' for help. Type '\\c' to clear the current input statement.
mysql> alter user root@localhost identified by 'password' password expire never;
Query OK, 0 rows affected (0.09 sec)
mysql> alter user root@localhost identified with mysql_native_password by '123456';
Query OK, 0 rows affected, 1 warning (0.01 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.02 sec)
mysql>
7、在客户端测试连接,连接成功。
以上是关于MYSQL连接时错误码2059解决办法的主要内容,如果未能解决你的问题,请参考以下文章
Navicat 连接MySQL数据库 报错2059 - authentication plugin 'caching_sha2_password'的解决办法
Navicat 连接MySQL 8.0.11 出现2059错误