mysql数据库8.0版本遇到的问题。
在navicat客户端中连接MySql数据库时,输入用户名密码之后,提示-2059的错误。具体原因为mysql 8版本之前加密规则为mysql_native_password,在mysql 8以后的加密规则为caching_sha2_password,所以就报错了。现在修改登陆的用户加密规则并刷新就能够解决问题。
- win+R快捷键运行cmd,切换到mysql安装目录下的bin文件夹下
cd C:\Program Files\MySQL\MySQL Server 8.0\bin
- 登陆
mysql -u root -p
- 选择数据库
use mysql;
- 更改加密方式和更新用户密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'rootroot' PASSWORD EXPIRE NEVER;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'rootroot';
- 刷新权限
FLUSH PRIVILEGES;
经过这几步操作就完成了,至此问题解决。