mysql-5.7.20-winx64忘记密码

问题:

mysql-5.7.20-winx64忘记密码,登陆失败。

解决办法:

一、以管理员身份打开cmd,进入到bin目录下(我的MySQL在E盘),
启动服务 net start mysql
mysql-5.7.20-winx64忘记密码_第1张图片
连接数据库mysql -u root -p,你忘记密码了,报错,那该怎么办呢?
嘿嘿,按照下面的步骤来,亲测有效。
首先,关闭服务net stop mysql
mysql-5.7.20-winx64忘记密码_第2张图片
在确保服务关闭的情况下,
输入命令 mysqld –skip-grant-tables (skip前面两个-),
意思是跳过了用户验证,回车后效果如下:
这里写图片描述
此时光标一直闪,但是无法输入任何内容。
二、以管理员身份再重新打开一个cmd窗口,进入到bin目录下,
直接输入mysql,显示如下:
mysql-5.7.20-winx64忘记密码_第3张图片
输入show databases
会显示数据库信息,其中有一个mysql,显示如下:
mysql-5.7.20-winx64忘记密码_第4张图片
输入use mysql,选中该数据库,显示如下:
这里写图片描述
输入show tables
会显示mysql数据库中的数据表,
其中有一个是user,存放的就是用户名,密码,权限等等用户信息,显示如下:
mysql-5.7.20-winx64忘记密码_第5张图片
查看user账户信息,
(注:高版本的mysql中的password被换成了authentication_string,
输入select user, host, password from user 的话会报错!!!)
这里写图片描述
输入select user, host, authentication_string from user
mysql-5.7.20-winx64忘记密码_第6张图片
可以看到有一列为authentication_string的列,即密码列,
还能看到有一个用户叫root,它有一个密码,
输入
update user set authentication_string=password(‘123456’) where user=’root’ and host=’localhost’
把用户名为root的用户的密码修改为123456,显示如下:
mysql-5.7.20-winx64忘记密码_第7张图片
可以看到root用户的密码已更改(和上图中之前的密码不一样了),
表示修改成功,
然后直接输入exit退出即可
mysql-5.7.20-winx64忘记密码_第8张图片
重新进入bin目录下,
输入mysql -u root -p
输入密码123456,
可登陆成功:
mysql-5.7.20-winx64忘记密码_第9张图片

你可能感兴趣的:(MySQL)