mysql 连接数据库时error 2059 解决
- 原因
- 解决方法
- 管理员运行cmd
- 修改加密方式
原因
mysql8新版本发布,安装后出现2059错误。原因是在mysql8之前的版本中加密规则为mysql_native_password,而在mysql8以后的加密规则为caching_sha2_password。
所以通过命令行方式将加密方式改回老版的方式。
解决方法
管理员运行cmd
执行命令
进入数据库:mysql -u root -p
如果提示MySQL不是内外部的命令的话,需要将MySQL的bin目录添加到系统的环境变量中。
use mysql;
查看当前加密方式:
select user,plugin from user where user='root';
可以看到当前用户的加密方式为caching_sha2_password
修改加密方式
首先需要查看自己root用户的host是什么
select user,host from user;
然后根据host修改:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
加粗的地方需要修改为自己的host名和密码。
最后刷新权限就可以成功连接了。
flush privileges;