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 '新密码'
相关推荐
张洛闻Eren7 小时前
MySQL 维护稳定系统【MySQL第二课】
linux·数据库·mysql·云原生
布莱克6059 小时前
理解索引:从概念到实践
数据库·mysql
g105655913911 小时前
LAMP博客平台Wordpress实战
android·mysql·nginx·php
2501_9378609413 小时前
MySQL联合查询(多表查询)
数据库·mysql
这个DBA有点耶15 小时前
迁移中的数据一致性挑战:如何确保百万行数据“搬得对”
mysql·架构·dba
哦虎!15 小时前
【数据库】事务
java·数据库·mysql
Mico1818 小时前
麒麟v10-MySQL InnoDB Cluster 完整部署与全场景验证(从入门到精通)
数据库·mysql
杨云龙UP18 小时前
生产环境MySQL多实例XtraBackup全量备份与rsync异地自动传输实践
linux·运维·数据库·mysql·xtrabackup·主从复制·备份恢复
会编程的吕洞宾19 小时前
MySQL 慢查询从5秒到50毫秒:索引失效六大场景定位与实战调优
数据库·mysql
浅念-19 小时前
MySQL 索引底层完整详解|磁盘Page|B+树推导|聚簇非聚簇索引|索引SQL操作
大数据·数据库·b树·sql·mysql·面试·职场和发展