原因是MySQL8.0的加密方式改变了,但是比较老版本的navicate没有来得及支持,因此需要将mysql设置为支持传统的那种密码加密,如果用比较低版本的MySQL,比如MySQL57应该就不会出现这种问题
解决方法:在命令行中进入mysql。执行命令:
alter user 'root'@'localhost' identified with mysql_native_password by '********';
提示成功后执行刷新权限命令:flush privileges;
因为root用户权限问题,也许会出现命令失败报错,使用普通用户执行命令,用普通用户登录Navicat即可。