MySQL5.7忘记root密码解决方法

不输密码进mysql

检查MySQL服务是否启动,运行->services.msc,打开服务,若该服务已启动,将其停止;
对MySQL安装目录下的my.ini进行配置: 
MySQL5.7目录下没有my.ini文件,可以在C:\ProgramData目录下找到 
 
将文件粘贴在安装目录下 
 
在my.ini中[mysqld]下面添加skip-grant-tables来跳过权限安全检查; 
3.启动MySQL服务; 
4.打开cmd,进入bin目录,输入命令: 
mysql -u root -p 
 
正常情况下,这时按回车就可以不输密码进入mysql,接下来就可以修改密码了。 
但博主亲试还是出错: 
MySQL ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: NO) 
若出错,请按以下步骤: 
1.关闭MySQL服务; 
2.打开cmd,进入bin目录,输入命令: 
mysqld –defaults-file=”C:\Program Files\MySQL\MySQL Server 5.7\my.ini” –console –skip-grant-tables (安装目录自行修改) 
命令跳过权限安全检查,开启mysql服务,保留此cmd窗口 
3.打开另一个cmd窗口,进入bin目录,输入命令: 
mysql -u root -p 
这时回车,登录成功 

修改密码

依次输入命令: 
1.use mysql; 
2.update mysql.user set authentication_string=password(‘新密码’) where user=’root’ and host=’localhost’; 
3.flush privileges; 
4.quit 
密码修改完毕。 
将之前添加在my.ini中的字段删掉,重新使用mysql -u root -p登录时,要求输入密码。 
若使用了cmd开启mysql服务,将cmd窗口关闭后启动MySQL服务,也可重新登录。
 

猜你喜欢

转载自blog.csdn.net/NCTU_to_prove_safety/article/details/88976758