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

不输密码进mysql

  1. 检查MySQL服务是否启动,运行->services.msc,打开服务,若该服务已启动,将其停止;
  2. 对MySQL安装目录下的my.ini进行配置:
    MySQL5.7目录下没有my.ini文件,可以在C:\ProgramData目录下找到
    MySQL5.7忘记root密码解决方法_第1张图片
    将文件粘贴在安装目录下
    MySQL5.7忘记root密码解决方法_第2张图片
    在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服务,也可重新登录。

你可能感兴趣的:(MySQL)