本地mysql密码重置
第一步:准备工作
- 关闭所有和 MySQL、DBeaver、CMD 相关的窗口,从头开始。
如图:win+R打开如下面板,然后确认
找到正在运行的mysql服务,然后右键停止。
- 以管理员身份打开 2 个「命令提示符」窗口(右键 CMD → 以管理员身份运行),分别叫「窗口 A」和「窗口 B」。
第二步:用窗口 A 启动免验证模式
- 在窗口 A 里,复制粘贴下面这行命令,按回车:
bash
运行
cd "C:\Program Files\MySQL\MySQL Server 8.0\bin" - 再复制粘贴下面这行完整命令,按回车:
bash
运行,这行是在:启动 MySQL 服务,显示日志,跳过密码检查,指定数据目录,让你可以无密码登录改密码。
mysqld --console --skip-grant-tables --shared-memory --datadir="C:\ProgramData\MySQL\MySQL Server 8.0\Data" - 等待几秒,看到最后一行出现
ready for connections,说明启动成功了!这个窗口保持打开,不要关!
第三步:用窗口 B 登录并重置密码
在窗口 B 里,复制粘贴下面这行命令,按回车:
bash
运行
cd "C:\Program Files\MySQL\MySQL Server 8.0\bin"再复制粘贴下面这行命令,按回车:
bash
运行
mysql -u root此时你会看到
mysql>提示符,说明成功登录了。复制下面这一整段 SQL 命令,直接粘贴到
mysql>后面,按回车执行:这里123456是你自己的密码
USE mysql; FLUSH PRIVILEGES; ALTER USER 'root'@'localhost' IDENTIFIED BY '123456'; EXIT;执行完会自动退出,回到
C:\Program Files\MySQL\MySQL Server 8.0\bin>路径下。
第四步:恢复正常服务
- 关掉窗口 A(之前跑
mysqld的那个),临时服务就停了。 - 按
Win + R输入services.msc,打开「服务」窗口。 - 找到
MySQL80服务,右键 →「启动」,等状态变成「正在运行」。
