mysql8.0以上修改root密码

遇到了不能进入root的情况,出现以下提示:

1
ERROR 1045 (28000): Access denied for user root@localhost (using password: YES)

网上查了一下这个的解决方案,大都是在my.ini中加入skip-gran-tables
尝试了一下发现根本无法重启mysql
几经查找原来是mysql版本问题,解决问题之后再这里总结一下(参考链接


第一步:确认关闭了mysql

以管理员身份运行cmd(下同),输入net stop mysql关闭服务


第二步:跳过权限认证

命令行输入mysqld --console --skip-grant-tables --shared-memory,如下图:
跳过权限
这时窗口应该无法继续操作,不要关闭此窗口,新开启一个cmd。


第三步:免密进入mysql修改密码

直接执行$mysql$即可出现

1
mysql>

接着依次输入:
1.use mysql;
2.update user set authentication_string=’’ where user=’root’;
3.flush privileges;
4.ALTER user ‘root‘@’localhost’ IDENTIFIED BY ‘123456’;
即可修改root密码为123456(上面命令中一定要带有“;”)
“修改密码”