Authentication method 'caching_sha2_password' not supported by any of the av的意思是任何av都不支持身份验证方法“缓存密码”
通常的报这个错误是因为它的身份验证方式是 mysql_native_password 方式,不是caching_sha2_password方式
方法一
如果是通过解压去安装的MySQL 8.0版本
1、找一下看有没有my.ini文件
没有就在你解压密闭的目录下新创建一个my.ini文件
my.ini文件中的内容:(注:可以直接复制下面的,涉及到存放目录的可以根据自己实际情况做更改)
[mysqld] # 设置3306端口 port=3306 # 设置mysql的安装目录 basedir=D:Program Filesmysql-8.0.19-winx64 # 切记此处一定要用双斜杠\,单斜杠这里会出错。 # 设置mysql数据库的数据的存放目录 datadir=D:Program Filesmysql-8.0.19-winx64\Data # 此处同上 # 允许最大连接数 max_connections=200 # 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统 max_connect_errors=10 # 服务端使用的字符集默认为UTF8 character-set-server=utf8 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB # 默认使用“mysql_native_password”插件认证 default_authentication_plugin=mysql_native_password [mysql] # 设置mysql客户端默认字符集 default-character-set=utf8 [client] # 设置mysql客户端连接服务端时默认使用的端口 port=3306 default-character-set=utf8
方法二
这里我是用Navicat Premium 12去改的
1、连接数据库后,选择点击工具后再点击命令列界面
2、输入命令查看用户身份验证方式:SELECT Host, User, plugin from user;
3、修改某个用户账号的身份验证方式:ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '12345';
4、 再去查看一下是否已经更改了