Mysql8.0以上重置初始密码的方法

本文详细介绍如何在忘记MySQL密码的情况下,通过六步操作重新设置密码,包括关闭服务、跳过密码验证、无密码登录、设置密码为空及修改新密码。

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

第一步:关闭Mysql服务

  • 首先,确保自己已经关闭了Mysql的服务
  • cd c:\web\mysql-8.0.16\bin(此处输入自己的Mysql安装地址)
    net stop mysql
  • 关闭Mysql服务

第二步:跳过Mysql密码验证

  • 关闭Mysql服务之后,继续在C:\web\Mysql-8.0.16\bin目录下进行操作输入
  • mysqld --console --skip-grant-tables --shared-memory 
    
  • 在输入这行代码之后,我们就已经成功跳过Mysql的密码登录了
  • 跳过Mysql密码登录

第三步:无密码方式进入Mysql

  • 在上述步骤之后,再打开一个管理员模式运行的cmd.exe
  • 进入mysql下的bin目录后,直接登录mysql
  • 不需要通过net start mysql打开mysql服务
  • 在命令行中输入以下代码
  • cd c:\web\mysql-8.0.16\bin(此处输入自己电脑上的安装目录)
    mysql -u root -p
  • 此时会显示让你输入密码,直接回车,就可以成功连接Mysql
  • 登录数据库

第四步:将登陆密码设置为空

  • 输入代码,将密码设置为空(此时还不能直接修改密码,必须先设置为空,否则会报错)
  • 输入:
  • use mysql; (使用mysql数据表)
    update user set authentication_string='' where user='root';(将密码置为空)
    quit; (然后退出Mysql)
  • 将密码置为空

第五步:更改自己的登陆密码

  • 这里分为两个部分
  • 1、关闭第一个cmd窗口(一定要关闭!)

  • 2、在第二个窗口中输入代码

  • net stop mysql(关闭mysql服务,虽然会显示没有开启服务,但是以防万一)
    net start mysql(再打开mysql服务)
    (这里不要嫌麻烦,如果上一个mysql服务没关闭,我们依旧是无密码登陆)
    cd C:\web\mysql-8.0.16\bin
    mysql -u root -p
    (此处会显示输入密码,直接回车就好了,第四步我们已经将他置为空了)
    ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';(更改密码)
  • 在这里插入图片描述

第六步:验证密码是否修改成功

  • quit(退出mysql)
    mysql -u root -p 
    (输入新密码,再次登录)
    成功~~~
    
### Windows 10MySQL 8.0 Root 密码重置教程 在 Windows 10 系统中,如果忘记了 MySQL 8.0 的 `root` 用户密码,可以按照以下方法进行重置。此过程涉及通过跳过权限检查的方式进入数据库并更新密码。 #### 停止 MySQL 服务 首先需要确保当前的 MySQL 服务已经停止运行。可以在命令行中输入以下命令来停止服务: ```cmd net stop mysql ``` #### 跳过权限检查启动 MySQL 打开一个新的命令提示符窗口(以管理员身份运行)。切换到 MySQL 安装目录下的 `bin` 文件夹。例如,假设 MySQL 安装路径为 `D:\Tools\mysql-8.0.20-winx64\bin`,则需执行如下命令: ```cmd cd D:\Tools\mysql-8.0.20-winx64\bin ``` 接着,在该窗口中输入以下命令以跳过权限检查方式启动 MySQL: ```cmd mysqld --skip-grant-tables --shared-memory ``` 这条命令会让 MySQL 在不验证用户权限的情况下启动[^3]。 #### 登录 MySQL 并修改密码 保持上述命令行窗口处于开启状态,再打开另一个新的命令提示符窗口(同样以管理员身份运行),再次切换至 MySQL 的 `bin` 目录,并尝试无密码登录 MySQL 数据库: ```cmd mysql -u root ``` 一旦成功连接到 MySQL 控制台,即可开始更改 `root` 用户的密码。以下是具体操作: 1. **清空现有认证字符串** 输入以下 SQL 查询清除现有的认证信息: ```sql UPDATE mysql.user SET authentication_string=NULL WHERE User='root'; ``` 2. **刷新权限表** 更新完成后立即刷新权限表使改动生效: ```sql FLUSH PRIVILEGES; ``` 3. **设定新密码** 使用下列语句定义新的 `root` 密码(将 `'your_new_password'` 替换为你想要的新密码): ```sql ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'your_new_password'; ``` 4. **再次刷新权限表** 设置完毕后再次刷新权限表确认变更已应用: ```sql FLUSH PRIVILEGES; ``` 完成这些步骤后退出 MySQL 控制台: ```sql exit; ``` #### 正常模式重启 MySQL 服务 关闭所有先前用于跳过权限检查的命令行窗口。返回初始命令提示符界面重新正常启动 MySQL 服务: ```cmd net start mysql ``` 此时应该能够利用刚刚设置好的新密码访问 MySQL 数据库了。 --- ### 注意事项 - 整个过程中务必小心处理敏感数据以及配置文件。 - 若遇到任何错误消息,请仔细阅读其描述以便定位问题所在。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值