admin管理员组文章数量:1122847
1. 打开管理员终端cmd窗口
输入
net stop mysql80
2. 开启跳过密码验证登录的MySQL服务
输入以下命令执行后该命令框会出现很多执行代码,并阻塞,不要关闭该窗口。
mysqld --console --skip-grant-tables --shared-memory
如执行完上述命令,没有发生以下意外情况直接跳到第三步。
- 意外情况:没有阻塞,显示的内容包含
OS errno: 2 - No such file or directory
代表服务启动失败。
MySQL8.0后默认的datadir位于C:\ProgramData\MySQL\MySQL Server 8.0\Data
,但上述方式启动的mysqld默认datadir有可能不是指向这个目录,又或者你手动改过,所以就启动不了
如下图
- 意外解决方法:
这里我们使用–datadir把其目录指向你的MySQL Server 8.0\Data
所在目录
# 默认为`C:\ProgramData\MySQL\MySQL Server 8.0\Data`,手动改过的情况下替换以下路径
mysqld --skip-grant-tables --console --datadir="C:/ProgramData/MySQL/MySQL Server 8.0/Data"
# 继续启动免密登录服务
mysqld --skip-grant-tables --console --datadir="C:/ProgramData/MySQL/MySQL Server 8.0/Data" --shared-memory
服务启动成功后窗口不要关。
3. 再打开一个新的cmd窗口无密码登录MySQL
输入登录命令,直接两下回车Enter
mysql -u root -p
成功进入mysql命令行
在mysql命令行,执行sql命令,以切换到mysql系统数据库
use mysql
先把密码制空
update user set authentication_string='' where user='root';
退出mysql,并关闭第一个打开的cmd窗口。至此密码已经设为空,如想要修改的话继续看第4步
4. 打开新的cmd窗口,启动MySQL服务
net start mysql
启动后使用空密码 两下Enter 直接登录
mysql -uroot -p
这里示范修改密码为123456
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
至此密码修改成功
版权声明:本文标题:Win MySQL 80 忘记密码 密码重置 及重置时异常解决方案 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/biancheng/1724529427a894106.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论