MySql 这个垃圾,从8.0开始修改密码有了变化,在user表加了字段authentication_string,修改密码前先检查authentication_string是否为空

1、如果不为空

use mysql;

update user set authentication_string='' where user='root';--将字段置为空

ALTER user 'root'@'localhost' IDENTIFIED BY 'root';--修改密码为root

2、如果为空,直接修改

ALTER user 'root'@'localhost' IDENTIFIED BY 'root';--修改密码为root

还有种SB情况,navicate for mysql 会提示版本需要更新,例如这样

Client does not support authentication protocol requested by server

原因:

在MySQL 8.04前,执行:SET PASSWORD=PASSWORD('[新密码]');但是MySQL8.0.4开始,这样默认是不行的。因为之前,MySQL的密码认证插件是“mysql_native_password”,而现在使用的是“caching_sha2_password”。

处理方法:

进入命令行界面

use mysql;

alter user 'root'@'localhost'identified with mysql_native_password by 'root';

flush privileges;

问题解决

————————————————

版权声明:本文为CSDN博主「Mr.Lpp」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/u012232730/article/details/82417245

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐