windows通过navicat连接本地mysql时报错:Client does not support authentication protocol requested by server; consider upgrading MySQL client
- 一、问题原因
- 二、解决方法1--失败
-
-
- 1. 连接mysql客户端
- 2. 修改加密方式
-
- 3.正确的解决方法
-
- 1.查找my.ini文件
- 2.修改my.ini文件
- 3.重启mysql
- 4. 修改加密方式
- 5. 再次尝试用 Navicat For Mysql 连接 Mysql8.0
一、问题原因
通过相关问题查阅,发现是由于navicat版本的问题造成连接失败。mysql8 之前的版本中身份验证方式是mysql_native_password,而在mysql8之后,身份验证方式是caching_sha2_password。
二、解决方法1–失败
通过Windows PowerShell(管理员),连接Mysql客户端,修改加密规则
1. 连接mysql客户端
右键windows图标,打开Windows PowerShell(一定要用管理员,不然重启服务时会提示拒绝访问),如下图所示:
输入以下命令:
mysql -uroot -p
2. 修改加密方式
-- 第一句 执行永不过期策略
ALTER USER 'root'@'%' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;
--第二句:更改加密方式
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password