错误提示:The server requested authentication method unknown to the client [caching_sha2_password]
一、原因
从MySQL 8.0.4开始,MySQL服务器的默认身份验证插件从mysql_native_password更改为caching_sha2_password。相应地,libmysqlclient现在也将caching_sha2_password用作默认身份验证机制。
二、查看情况
1、在MySQL 8.0 Command Line Client命令窗口,输入密码,
输入use mysql;
输入SELECT Host, User, plugin from user;
可以看出使用的都是caching_sha2_password用作默认身份验证机制(这里的红框,是我解决后的图片,原来4个都是caching_sha2_password)
三、解决方法
1、常见解决方法,直接接着上面的步骤,
先输入下面语句修改权限
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
再输入下面语句刷新权限
FLUSH privileges;
2、到了上面一步应该就好了,如果还不行就去修改下my.ini,
在MySQL Server 8.0安装目录下面(这是隐藏文件)的my.ini 这个配置文件里的[mysqld]这个部分,
添加
default_authentication_plugin=mysql_native_password
这句代码,然后重启服务,搞定!