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;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步