mysql57 修改密码,windows下MySQL5.7的root密码重置

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登录了。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值