【Mysql】忘记Root密码后如何不影响数据进行重置密码

方法一:通用方法--启动时跳过权限表

1> 停止数据库

以管理员方式打开cmd!!

C:\Users\Administrator>net stop mysql

MySQL 服务正在停止..

MySQL 服务已成功停止。

2> 启动时跳过权限表

mysqld --console --skip-grant-tables --shared-memory

C:\Users\Administrator>mysqld --console --skip-grant-tables --shared-memory

注意:不要关闭终端

3> 重开新的终端(再开一个终端),登录并设置新密码

PS C:\Users\Administrator> mysql -uroot -p

Enter password: 直接敲回车键

mysql> flush privileges;

mysql> alter user root@localhost identified by '123456'; //重置密码

4> 退出MySQL,关闭第一个终端,正常启动服务。

mysql> \q

PS C:\Users\Administrator> net start mysql

MySQL 服务正在启动 ..

MySQL 服务已经启动成功。

PS C:\Users\Administrator> mysql -uroot -p123456

mysql: Warning Using a password on the command line interface can be insecure.

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 8

Server version: 8.0.36 MySQL Community Server - GPL

Copyright (c) 2000, 2024, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> \q

Bye

方法二:参考官方文档

1> 停止服务

PS C:\Users\Administrator> net stop mysql

MySQL 服务正在停止.

MySQL 服务已成功停止。

2> 创建一个文本文件到mysql文件夹里,保存为 mysql_init.txt ,内容如下:

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

3> 启动同时使用上一步文件修改密码

要求管理员身份打开cmd来运行命令,暂时不要关闭终端:

C:\Users\Administrator>mysqld --init-file= F:\mysql\mysql-8.0.36-winx64\mysql_init.txt

(具体路径复制粘贴)

4> 打开另一个终端,登录测试

PS C:\Users\Administrator> mysql -uroot -p123456

mysql: Warning Using a password on the command line interface can be insecure.

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 9

Server version: 8.0.36 MySQL Community Server - GPL

Copyright (c) 2000, 2024, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> \q

Bye

5> 关闭第一个终端,正常启动服务。

C:\Users\Administrator>net start mysql

MySQL 服务正在启动 ..

MySQL 服务已经启动成功。

C:\Users\Administrator>mysql -uroot -p123456

mysql: Warning Using a password on the command line interface can be insecure.

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 8

Server version: 8.0.36 MySQL Community Server - GPL

Copyright (c) 2000, 2024, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> \q

Bye

6> 删除文件 mysql_init.txt

相关推荐
泡干脆面就番茄5 小时前
MySQL_子查询_分页查询与联合查询详解
数据库·mysql
devpotato6 小时前
缓存与数据库更新顺序不一致问题
java·数据库·redis
天若有情6736 小时前
Node+MySQL小型全栈笔记项目实战课程分享
数据库·笔记·mysql
wxwx_bscxy3227 小时前
基于springboot宠物领养系统的设计与实现
数据库·spring boot·后端·spring·宠物
九月要晚安7 小时前
达梦DW与AFC对比
数据库
实战派K8S&DB7 小时前
如何在内网配置 TiDB 数据库 Agent
数据库·人工智能·分布式·tidb
实战派K8S&DB8 小时前
《基于 Dify + FastAPI + PyTiDB 搭建大模型驱动的 TiDB 智能运维 Agent》
运维·数据库·分布式·云原生·tidb·fastapi
SelectDB8 小时前
Apache Doris 5.0 年度版本前瞻(一):构建统一的多模湖仓实时分析平台
大数据·数据库·数据分析
小白学大数据8 小时前
超简单:用 Python 让 Excel 飞起来:用 openpyxl 把重复报表整理交给脚本
开发语言·数据库·python·excel
西索斯coding8 小时前
doubao-seed-2.1-turbo 调用一直 401 怎么办?pro 版同样的 Key 却正常——5 分钟排查定位指南
java·服务器·数据库·ai