win10 mysql 8.0.16 忘记初始密码 重置密码

突然忘了初始密码,然后连不上了

在网上搜了许多方法,总结出来一点点经验与细节

1. 开启无密码登录

第一步:如果mysql正在运行中,需要在命令行执行

net stop mysql

第二步:命令行转到mysql的安装目录下的bin目录
(需要用的是管理员的cmd,在win10搜索框中搜索cmd)
win10 mysql 8.0.16 忘记初始密码 重置密码
随后使用管理员打开
win10 mysql 8.0.16 忘记初始密码 重置密码
输入以下的命令

mysqld --console --skip-grant-tables --shared-memory

(然后另开一个管理员权限的cmd,这个不要关闭

同样的进入到安装包的bin目录。执行以下命令

mysql -u root -p

win10 mysql 8.0.16 忘记初始密码 重置密码

2. 将密码设置为空

再依次执行以下命令

use mysql

win10 mysql 8.0.16 忘记初始密码 重置密码

update user set authentication_string=’’ where user = ‘root’;
这里注意:单引号是英文状态下的

win10 mysql 8.0.16 忘记初始密码 重置密码

再刷新权限表

flush privileges;
这一步很重要
这一步很重要
这一步很重要
win10 mysql 8.0.16 忘记初始密码 重置密码

3. 重置密码

以上都做完了就可以将第一个管理员cmd窗口关闭了(ctrl+c 关闭)第二个不要

退出mysql(输入exit命令)
win10 mysql 8.0.16 忘记初始密码 重置密码

4. 重新登录mysql,修改密码

第二个管理员CMD窗口:还是mysql 安装目录下bin目录

执行

net start mysql

win10 mysql 8.0.16 忘记初始密码 重置密码
启动成功后,执行

mysql -u root -p

(无密码登录)
win10 mysql 8.0.16 忘记初始密码 重置密码
修改密码

alter user ‘root’@‘localhost’ identified by ‘*****’;
号改为你要设置的新密码,建议设置一点复杂的密码,大小写,数字,再加上特殊符号,如 @ . / 等

win10 mysql 8.0.16 忘记初始密码 重置密码

修改完成了,去试试看能不能登录了
win10 mysql 8.0.16 忘记初始密码 重置密码