忘记MySql密码时应该如如何操作,操作环境为windows,mysql 版本为8.4.4

Windoiws

关闭正在运行的MySQL服务

在任务管理器中找到MySQL对应的服务,然后将其停止

跳过权限认证

打开CMD命令行窗口,转到mysql\bin目录
输入mysqld –skip-grant-tables 回车

连接MySQL

再开一个CMD命令行窗口(因为刚才那个DOS窗口已经不能动了),并转到mysql\bin目录 输入mysql回车,如果成功,将出现MySQL提示符界面

连接权限数据库表

use mysql;

改密码

运行如下命令修改root用户的密码为root

UPDATE user SET authentication_string=PASSWORD("root") WHERE User="root";

mysql5.7以前的版本请使用 ··update user set password=password(“root”) where user=”root”;··

刷新权限

由于密码修改后不会立即生效,请调用如下命令刷新权限使其生效。

flush privileges;

修改完成

退出 quit。 再次进入时,就可以使用用户名root和刚才设置的新密码登录。

Linux

1.停止MySQL服务: service mysqld stop

2.编辑MySQL配置文件(通常位于/etc/my.cnf): vi /etc/my.cnf 在[mysqld]部分添加skip-grant-tables,这将允许无密码登录。

3.重启MySQL服务: service mysqld start

4.登录MySQL: mysql -u root

5.修改密码为空:use mysql; update user set authentication_string = “” where user = “root”;

6.移除my.cnf中的skip-grant-tables选项,并重启MySQL服务。

7.使用空密码登入mysql

8.修改密码: use mysql; alter user “root”@”localhost” identified by “密码”; 将新密码替换为你想设置的密码。