因为之前的电脑安装的数据库mysql5.0,但是这个版本的数据不支持utf8mb4编码格式,于是就卸载了重新安装mysql8.0.15版本,但是mysql8.0以后的加密方式为mysql_native_password,mysql5.0以后加密方式为caching_sha2_password,所以在用Navicat 连接mysql8.0创建数据库的时候会2059错误。
解决方法
1、使用CMD命令,win + R键 输入cmd按回车(Enter)
2、登录mysql数据库,输入下面的命令之后,会要求你输入密码
mysql -u root -p
3、查看mysql加密方式
use mysql;
select user,plugin from user where user='root';
4、更改mysql的加密方式
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
5、执行命令
flush privileges
6、重启mysql服务
最后注意:用命令行操作mysql 数据库的时候,命令后面都要加上英文;号,不然会报错,这个问题搞了半天。