Mysql8 修改root密码

昨天更换电脑后导入项目一直报错Client does not support authentication protocol requested  by server;

该问题困扰了我整整两天,我将我新电脑的环境配置全部设置与旧电脑一致,但却发现问题依旧存在,后来我将lib中的jar包更换为对于我mysql8的mysql-connector-java后,eclipse再次报错,发现是无法识别时区导致的,jdbc的url中设置jdbc时区后问题得到解决,但是却依旧没有解决我最初的疑问,为什么环境一模一样会出现不同的结果,后查阅资料发现是:

当前的身份验证协议实现使用密码散列算法,该算法与较旧(4.1之前的)客户端使用的算法不兼容。尝试使用较旧的客户端连接到4.1或更高版本的服务器可能会失败。

 

发现是因为我之前设置mysql密码时是用的较旧的方式:

ALTER USER USER() IDENTIFIED BY '新密码';

 

所以用新的方式修改了密码后问题终于得到了解决:

1、use mysql;

2、alter user 'root'@'localhost' identified with mysql_native_password by '********';

3、flush privileges;

 

posted @ 2020-03-26 23:20  弗乱  阅读(607)  评论(0编辑  收藏  举报