windows的mysql8.0密码忘记怎么办?

在这里插入图片描述
方法一:

sc query mysql

// 停止服务
net stop MYSQL80

#新建一个mysql-init.txt文件,写入修改密码命令
alter user ‘root’@‘localhost’ identified by ‘123456qq’;

mysqld --defaults-file=“C:\ProgramData\MySQL\MySQL Server 8.0\my.ini” --init-file=“C:\Program Files\MySQL\MySQL Server 8.0\mysql-init.txt” --console

mysqld --init-file=“C:\Program Files\MySQL\MySQL Server 8.0\mysql-init.txt” --console
net start MYSQL80

退出,重新启用服务
net start MYSQL80
用新密码登录

方法二:(5.7和8.0均适用)标红的地方表示可能需要根据自己电脑的安装情况进行修改
1、Windows+R键打开运行,输入services.msc点击确定,然后找到mysql的服务,这里是MySQL57
在这里插入图片描述
在这里插入图片描述
2、右键点击停止mysql服务
或者在管理员权限的命令行中使用net stop命令停止mysql服务
在这里插入图片描述
3、打开一个管理员权限的cmd命令行,然后输入mysqld命令使得mysql跳过权限验证运行,执行完这里会卡住,是正常现象,表示mysql已经跳过权限验证在运行了 -

mysqld --defaults-file="C:\ProgramData\MySQL\MySQL Server 5.7\my.ini" --shared-memory --skip-grant-tables 

在这里插入图片描述
●这里需要注意,–defaults-file命令不一定要使用,需要先查看mysql安装目录是否有my.ini文件,如果没有才需要设置。如果有可以不需要设置(设置了也行,所以如果不想思考太多就全部都设置)
○如果在mysql目录下(就是跟bin文件夹同级目录下)没有my.ini文件,就需要到C盘的ProgramData目录下找到mysql,去里面找到my.ini文件,–defaults-file的值就是my.ini的目录所在
○注意C盘的ProgramData文件夹是一个隐藏文件,如果找不到,需要设置显示隐藏文件
在这里插入图片描述
在这里插入图片描述
●如果还找不到my.ini的路径,可以在第2步找到的mysql服务中寻找,双击打开就能看到(如果挡住了就按住鼠标左键往右移动)

在这里插入图片描述
4、卡住的cmd命令行不要动,打开一个新的cmd命令行(可以不用管理员权限打开),然后不需要输入密码直接登录mysql

mysql

在这里插入图片描述
5、修改密码
// 重新加载权限表
flush privileges;

// 修改root用户的密码,比如修改成root
alter user ‘root’@‘localhost’ identified by ‘root’;
7、在管理员权限的cmd中退出卡住的状态(使用Ctrl+Z或者Ctrl+C,直接关闭命令行也行),然后在服务中启动mysql服务

### 重置 WindowsMySQL 8.0 Root 密码 对于在 Windows 系统中忘记MySQL 8.0 的 root 用户密码的情况,可以通过一系列操作来安全有效地重置该密码。 #### 停止 MySQL 服务 为了能够无验证地访问数据库并更改其设置,在开始前需停止正在运行的 MySQL 服务。这通常通过 Windows 的服务管理器或者命令提示符完成: ```powershell net stop mysql ``` 此命令会终止当前所有的 MySQL 进程[^1]。 #### 启动 MySQL 跳过权限表 接着要以一种特殊模式启动 MySQL——即跳过授权表(`skip-grant-tables`)的方式。这样做的目的是绕开现有的认证机制以便可以不受限地连接到服务器。可以在命令行界面执行如下指令实现这一点: ```batch "C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe" --console --skip-grant-tables ``` 请注意路径可能依据安装位置有所不同,请根据实际情况调整上述路径[^3]。 #### 登录 MySQL 并更新密码MySQL 已经成功以 `--skip-grant-tables` 参数启动之后,就可以无需提供任何凭证直接登录了。此时可再次打开一个新的 CMD 或 PowerShell 窗口,并输入以下命令进入 MySQL 控制台: ```batch mysql -u root ``` 一旦进入了 MySQL 提示符下,则应该立即采取行动去改变 root 用户的身份验证字符串。具体来说就是执行 SQL 查询语句来设定新的密码: ```sql FLUSH PRIVILEGES; ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码'; ``` 这里 `'新密码'` 应替换为你想要设置的新密码[^5]。 #### 重启 MySQL 服务恢复正常工作状态 完成了密码变更后,记得先关闭刚才手动开启的那个带有 `--skip-grant-tables` 参数的服务实例(如果还在开着的话),再正常方式重新激活 MySQL 服务: ```powershell net start mysql ``` 现在应当可以用刚刚创建的新密码顺利登陆 MySQL 数据库了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小九说项目

记得私信我,得源码

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值