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;