根本原因:mysql8.0以上版本加密方式与老版本不同,如果用低版本的navicat去连接高版本的mysql数据库,就会报该错误。
解决方法:
首先连接数据库:
mysql -uroot -p数据库密码
然后修改加密规则:
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '数据库密码';
最后刷新系统权限:
flush privileges;
ps:修改加密规则时,%表示不限制ip访问,localhost表示仅限本地访问