解决navicat连接不上mysql8

以前使用的mysql5.0.x版本,使用navicat连接没有问题。最近安装mysql8.0之后用命令行登录一切正常,用navicat连接的时候死活连接不上。一直报下面的错误。

Client does not support authentication protocol requested by server; consider upgrading MySQL client

上网查了下,原来是mysql8换了加密插件,而navicat还是用的旧加密方式,所以就连接不上了。
网上有两种解决方案,一种是重新连接Msyql安装程序,重新设置密码加密方式。这种方式不喜欢,跳过了。
还有一种是进数据库里修改,参考:
在命令下进入数据库,运行:

1.USE mysql;
2.ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'mypassword';
3.FLUSH PRIVILEGES;

如果root对应的host是’%‘的,就写’root’@’%’,如果host是’localhost’的,就写’root’@‘localhost’。
最后的’mypassword’要改成自己的密码,比如我本人的写法:

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';

在这里插入图片描述

发布了65 篇原创文章 · 获赞 58 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/CliffordR/article/details/89598087