原因
2059这个错误的原因是在mysql8之前的版本中加密规则为mysql_native_password。但是在mysql8以后的加密规则为caching_sha2_password。我们可以将mysql用户登录的加密规则进行修改。修改为mysql_native_password。
解决
打开command line client,输入密码登陆
登录成功以后使用ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; 来修改加密规则。
加密规则修改完成后我们可以通过ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; 顺便更新一下用户密码。
在navicat上登陆