美文网首页
windows下MySQL5.7的root密码重置

windows下MySQL5.7的root密码重置

作者: 绿珊瑚 | 来源:发表于2018-04-20 22:50 被阅读0次

    MySQL数据库长时间未使用,密码难免会忘记。像我这样七秒钟记忆的人密码都要拿个小本本记下来的!

    如果不幸没有备份怎么办呢? 就照着下面的方法重置吧,不要问我是怎么知道的。。。。

    版本号:5.7.21

    在网上也看了一些方法,各个版本会有一些差别。

    比如重置密码时候的字段password,这个版本的MySQL里面user注册表是没有password字段的,而是存在authentication_string下。执行时多注意下报错信息就可以大概看出来不可行的地方在哪里了。

    另外,在mysql server 5.7\bin文件夹下执行跳过注册表登录时,会出现找不到Data文件夹的报错。这是因为Data文件夹跟安装目录并没有放在相同路径,而是放在了默认路径  C:\ programdata\mysql\mysql server 5.7下。因此,执行时还需要设置查找的路径。my.ini的配置文件也放在这个下面。

    步骤如下:

    1. 找到配置文件my.ini, 右键点击编辑打开。找到mysqld块,在后面添加语句允许跳过注册表,这样不用密码就可以登录。

    #skip the password

    skip_grant_tables

    2. 关闭mysql服务,在安装目录c:\program files\mysql\mysql server 5.7\bin文件夹下shift+右键选择打开命令行窗口,跳过注册表来启动server。命令行:

    mysqld --defaults-file="c:\programdata\mysql\mysql server 5.7\my.ini"  --console  --skip_grant_tables

    3. 再在该路径下重新打开一个DOS,登录MySQL

    mysql -u root -p

    按eter后,不用输入密码,直接再次enter进入mysql

    4.  看下当前用户,应该是无权限用户:

    mysql> select current_user();    

     使用mysql空间:

    mysql> use mysql;  

    修改root用户密码:

      mysql> update user set authentication_string = password("1234") where user="root" 

    执行后会提示一行已修改。然后刷新下表中数据。

     mysql> flush privileges;  

    修改完毕,退出MySQL环境:

    mysql> quit;  

    5. 回到 my.ini 配置文件,将修改过的内容恢复原状

    6. 重新打开mysql登录试试看,已经可以用新密码1234登录了。

    相关文章

      网友评论

          本文标题:windows下MySQL5.7的root密码重置

          本文链接:https://www.haomeiwen.com/subject/xsqtlftx.html