Windows下本机Mysql8.0版本忘记root密码解决方案

Mysql版本

8.0.26

解决方法

首先自己需要知道本机mysql服务名称,如不知道则下方停止与启动数据库时可进入Windows的服务中找到Mysql服务手动启动与停止

停止mysql服务,以管理员运行终端(Windows PowerShell)执行一下命令

powershell 复制代码
net stop mysql80

不带日志输出的免密启动mysql方式

powershell 复制代码
// 注意修改datadir后的安装路径
mysqld.exe  --skip-grant-tables --shared-memory --datadir="C:\ProgramData\MySQL\MySQL Server 8.0\Data"

此时上方命令执行并未退出即正常

重新打开一个以管理员运行终端执行无密码进入mysql

powershell 复制代码
mysql -u root

成功进入后使用命令进入mysql库

powershell 复制代码
use mysql

自8.0之后,MySQL的用户密码验证机制由"mysql_native_password"改为了"caching_sha2_password",因此直接修改密码可能导致不成功。

此时就需要先将密码制空后再进行密码修改操作

powershell 复制代码
update user set authentication_string = '' where user = 'root'

制空密码之后,在当前MySQL数据库中使用"quit"命令退出数据库,再关闭终端窗口,依次关闭其他终端窗口,再次重新启动MySQL服务后,即可正常无密码登录数据库

powershell 复制代码
// 重启mysql服务
net start mysql80

无密码进入mysql数据库切换到mysql库中

powershell 复制代码
use mysql

修改user表即可完成所有更改密码的过程

powershell 复制代码
alter user 'root'@'localhost' identified by '新密码'
相关推荐
fish_xk2 小时前
mysql中的表的约束
数据库·mysql
java1234_小锋4 小时前
【技术专题】Mysql8 数据库 - Mysql8 添加,更新,删除数据
数据库·mysql
冰暮流星6 小时前
mysql之索引创建,查看,删除
数据库·mysql
福兮说8 小时前
IP 地址转整数的七个坑:192.168.1.1 算出负数、127.1 也是合法地址、存进 INT 直接溢出
javascript·网络·网络协议·tcp/ip·mysql·golang
Q264336502310 小时前
【有源码】基于Spring Boot和Vue的在线考试与交流系统-教育信息化背景下在线考试与交流一体化平台
java·vue.js·spring boot·mysql·spring·毕业设计·课程设计
都适、隶仁ミ11 小时前
【等保加固】MySQL5.7.38
运维·服务器·mysql·安全·等保
fengkai454511 小时前
十一、MySQL 第 4-7 章
运维·数据库·mysql
ao-weilai12 小时前
MySQL数据库:索引
数据库·mysql
Highcharts.js12 小时前
动态数据可视化架构:Highcharts + PHP + MySQL 从数据库到数据渲染
数据库·mysql·php·开发文档·实时数据·highcharts·图表开发
晚安日记wanna1 天前
MySQL 回表为什么这么慢?5 种优化手段逐个拆解
数据库·mysql·性能优化