MySql8 在安装完成后更改root的登录密码或者新建用户设置密码后使用客户端远程登录报错是:Authentication plugin 'caching_sha2_password' cannot be loaded。

网上查到的原因是:mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password。所以我们使用命令设置或者修改密码时默认使用的是caching_sha2_password规则。而我们客户端再使用mysql_native_password加密规则发送密码时当然就对不上了。

解决方法就是在设置密码时使用mysql_native_password规则加密,或者是升级客户端支持caching_sha2_password规则,述我直言,目前常用的旧版本客户端支持caching_sha2_password的还比较少除非使用新版本。客户端连接解决了,在使用程序时同样会遇到这个问题,所以最好还是延用老的加密方式。

看一下怎么解决吧。我们就直接再重新更新一下密码就可以了,使用如下命令:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'mypassword';
flush privileges;

或者在创建用户的指定密码的加密规则命令如下:

create user 'mtoo'@'localhost' identified WITH mysql_native_password by 'mypassword';
FLUSH PRIVILEGES;

创建MySql用户同时指定密码和加密的规则mysql_native_password。

MYSQL系列文章 

MySql8境配置my.cnf

MySql rpm下载地址

CentOS 卸载MySql8

CentOS 安装MySql8 离线手动安装(rpm)

CentOS8 安装MySql8yum方式

MySql数据库开始使用步骤

MySQL 创建用户命令带密码和加密规则

 MySQL8 启动报错Warning: World-writable config file '/etc/my.cnf’ is ignored

MySQL Authentication plugin 'caching_sha2_password' cannot be loaded

原创作品,禁止转载!