重置密码步骤如下:
1、打开命令窗口cmd,输入命令:net stop mysql(注意这里mysql要改成你对应的名称),停止MySQL服务(或者打开任务管理器手动停止服务)
2、跳过密码验证登录MySQL服务
输入命令 mysqld --console --skip-grant-tables --shared-memory
3、打开另一个cmd,输入mysql -u root -p
4、输入use mysql
5、将密码置为空
update user set authentication_string='' where user='root';
6、退出输入exit
7、关闭两个cmd窗口,重新打开一个cmd,重新启动mysql
net start mysql(名称记得替换)
8、输入mysql -u root -p 因为密码已经置为空,因此直接回车即可
9、修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
10、输入exit 退出 ,重新输入mysql -u root -p,并且输入新密码验证是否可以登陆成功
第二步可能出现的问题:
正常来说第二步输完命令后是不可以继续输入的,如果可以继续输入,那说明你的mysql路径下可能不存在Data文件和my.ini文件导致的。
具体情况可参考这篇文章:
https://blog.csdn.net/m0_52861000/article/details/131355844
作者:云边的快乐猫
我是直接把这里的文件直接放在c盘mysql路径下的(但是因为我原本的数据库就是空的,不知道此办法引用的是不是原本的数据库)
我还找到了一些其他的方法:(我不知道这个方法会不会对本地存在的数据库产生影响,我觉得应该是不会,毕竟如果原本路径下就不包含data文件,那说明Datat文件在其他地方,有了解的此办法的可以放在评论区供大家参考)
1、先删除mysql服务
sc delete MySql80(这个命令会删除数据库)
2、新建my.ini文件
[mysql]
default-character-set=utf8
[mysqld]
default-storage-engine=INNODB
basedir=C:/Program Files/MySQL/MySQL Server 8.0
datadir=C:/Program Files/MySQL/MySQL Server 8.0/data
路径记得更改一下
3、在mysql的bin目录下打开cmd窗口,输入:
mysqld --initialize-insecure --user=mysql
mysqld --install "MySql80" --defaults-file="C:\Program Files\MySQL\MySQL Server 8.0\my.ini"
同样路径记得换
4、打开mysql服务
net start MySql80