Navicat ,SQLyog连接MySQL8 异常 Authentication plugin 'caching_sha2_password' cannot be loaded解决方案

问题:Navicat ,SQLyog连接MySQL8 异常2059-Authentication plugin 'caching_sha2_password' cannot be loaded解决方案

这个报错是因为mysql新版本修改了密码的加密方式,在老的gui上登陆会报错。 在网上看到很多解决方案,都是直接上来就进入mysql控制台,然后修改加密方式,但是在我的实际过程中失效,修改了之后还是一样连接报错

正确如下:

  • 第一步:进入my.cnf加一个配置
// 据说新版本的mysql不支持在mysql控制台直接修改此配置,所以需要在my.cnf中修改
default_authentication_plugin=mysql_native_password 

我的配置:

[mysqld]
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
datadir         = /var/lib/mysql
secure-file-priv= NULL
default_authentication_plugin=mysql_native_password
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

  • 第二步
mysql -u root -p
use mysql;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';    //设置加密方式
FLUSH PRIVILEGES; 

注意:上面修改的是mysql本地登陆的加密方式,如果需要远程登陆,需要把localhost改成%,如下

mysql -u root -p
use mysql;
update user set host = '%' where user = 'root';
ALTER USER  'root'@'%'  IDENTIFIED WITH mysql_native_password BY  'password'; 
FLUSH PRIVILEGES; 
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容