忘记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 “密码”; 将新密码替换为你想设置的密码。