windows下8.0以上版本的mysql忘记密码解决办法

今天突然想着练练mysql语法,当我打开尘封已久的学习笔记,找到win下通过命令提示符进入mysql的方法。正当我想大展拳脚之时

 一条enter password拦住我求知的步伐,无数次的尝试都不正确,我不禁开始怀疑人生,当时设置密码的人到底是不是我?

于是只能网上找,忘记mysql的root密码怎么办?网上很多人和我一样都是健忘症,相关博客太多了。大部分人说启动mysql的时候加上一句 --skip-grant-tables 即可跳过密码进入,进去就可以修改密码了。可是这样我启动不了mysql,于是再找啊找,又有人说5.6之后的版本,为了安全起见,添加了validate_password插件,需要在my.cnf文件注释掉才能跳过密码启动。可是找了很久win上根本没有my.cnf文件,这是linux上的。win上的my.ini文件根本没有这一项。

再找啊找,终于找到一篇靠谱的,不是零点赞零回复的帖子。

原来mysql8.0以后的版本,跳过密码启动的语句有些变化。下面是忘记密码重置密码的步骤。

1.管理员打开命令提示符工具,cd到mysql安装目录的bin目录下(设置了环境变量不需要这一步);

2.首先关闭mysql服务:net stop mysql

3.输入:mysqld --shared-memory --skip-grant-tables

4.此时mysql已经启动,另外打开一个命令提示符,运行mysql,输入:mysql

5.可以看到已经进入mysql命令模式,键入:FLUSH PRIVILEGES; 回车,键入:ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';(这时的命令尾需要加分号)然后quit,就可以用新密码登录了。

很烦,被这样的小问题折腾很久。以后搜索软件问题,一定要带上版本号

最后说一句,如果你试了很多次密码都不对,或许你当初就没有设置密码,试试直接回车吧。

原文地址:https://www.cnblogs.com/cpcpp/p/13543111.html