注:原因为MySql 8.0.11 换了新的身份验证插件(caching_sha2_password), 原来的身份验证插件为(mysql_native_password)。而客户端工具Navicat Premium12 中找不到新的身份验证插件(caching_sha2_password),对此,我们将mysql用户使用的 登录密码加密规则 还原成 mysql_native_password,即可登陆成功。
1、先登录mysql
mysql -u root -p
2、进入mysql数据库
mysql> use mysql;
3、查看user及host
mysql> select user,host from user;
user:root ;host:% 表示全部IP都可以访问(外部可以访问)
修改加密方式语法
ALTER USER 'user'@'host' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
4、修改加密方式
ALTER USER 'root'@'%' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
解释:我这里的user是root,host是%;password是登录密码;
5、设置密码
ALTER USER 'user'@'host' IDENTIFIED WITH mysql_native_password BY 'password';
这里的’user’@‘host’ 同步骤4;
这里的用户的密码这里的password为你修改的新密码(如果提示密码unsafe ,就是密码格式不对,多试试)
6、刷新权限使配置生效文章来源:https://www.toymoban.com/news/detail-740354.html
FLUSH PRIVILEGES;
然后去Navicat测试连接文章来源地址https://www.toymoban.com/news/detail-740354.html
到了这里,关于navicat连接服务器报错:Client does not support authentication protocol requested by server解决办法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!