mysql8.0忘记密码的解决方法

本文提供了一种在忘记MySQL root密码后,通过一系列步骤来重置密码的方法。具体包括停止MySQL服务、设置跳过验证模式、重置root密码为空及最终设定新密码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

mysql如果在安装的时候用的是随机密码,之后一段时间不接触它就会把密码搞忘,虽然说删库大法好,但是如果里面有一些重要的数据的话最好的解决方法还是重置root密码。
在尝试了一番后,发现网上的方法并不是那么的完美,再次附上自己的解决方法,可以让其他人准确快速的解决问题。
1、以管理员模式运行CMD,进入bin目录,输入命令:net stop mysql 停止MySQL服务
在这里插入图片描述
2、设置跳过验证,输入命令:mysqld --shared-memory --skip-grant-tables
回车之后cmd窗口会被卡住不动
在这里插入图片描述
3、保持第二步的窗口不动,重新以管理员模式打开一个新的CMD窗口,并进入bin目录,输入命令:mysql
显示以下内容就说明成功的绕开了密码验证
在这里插入图片描述
4、重置root密码为空,在第三步的cmd窗口中输入命令:update mysql.user set authentication_string=’’ where User = ‘root’; (分号不能掉)
在这里插入图片描述
5、关闭所有CMD窗口,以管理员模式运行一个新CMD并进入bin目录,启动MySQL服务,输入:net start mysql
接着输入命令:mysql -u root -p后回车(因为第四步已经把密码设置为空,所以这里输入密码时直接回车就行)
进入mysql命令行后输入:alter user ‘root’@‘localhost’ identified by ‘123456’; 将密码修改为123456
在这里插入图片描述

### 如何重置 MySQL 8.0 Root 用户密码 对于不同操作系统环境下的 MySQL 8.0 版本,重置 root 密码方法略有差异。以下是针对 Linux 和 Windows 平台的具体操作指南。 #### 对于 CentOS 系统 (适用于 Centos7 及 Centos8) 为了安全起见,在执行任何更改之前建议先停止 MySQL 服务: ```bash sudo systemctl stop mysqld ``` 接着通过编辑 `/etc/my.cnf` 文件来跳过权限表验证,允许无密码访问数据库实例[^4]: ```bash sudo vim /etc/my.cnf ``` 在 `[mysqld]` 部分下添加 `skip-grant-tables` 参数并保存文件。之后重启 MySQL 服务使配置生效: ```bash sudo systemctl start mysqld ``` 此时可以无需提供密码直接连接MySQL 控制台,并利用如下 SQL 命令更新 root 用户的新密码[^2]: ```sql USE mysql; ALTER USER 'root'@'%' IDENTIFIED BY 'NewRootPassword!'; FLUSH PRIVILEGES; ``` 完成上述步骤后记得移除先前加入的 `skip-grant-tables` 设置以恢复正常的安全状态,并再次重启 MySQL 服务[^3]。 #### 对于 Windows 环境 当面对 Windows 上安装的 MySQL 服务器时,过程相对简单一些。如果忘记了当前设置的 root 账号密码,则可以通过命令提示符窗口运行以下语句来进行修改[^5]: ```sql ALTER USER 'root'@'localhost' IDENTIFIED BY 'YourSecurePassword!'; ``` 需要注意的是,这里假设已经能够正常启动 MySQL Server 并获得管理员级别的 shell 访问权限。 无论在哪种平台上进行此类敏感操作都应当谨慎行事,确保遵循官方文档中的指导方针以及采取适当的数据备份措施以防万一。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值