Windows下MySQL重置Root密码
停止mysql服务器
关掉mysql进程
配置不读取授权表启动
cmd运行不要用powershell,使用--skip-grant-tables
1 | mysqld --skip-grant-tables=OFF --shared-memory --console |
最好加上--console
,把信息直接打到控制台,有报错的话能直接发现。之前直接启动会闪退,通过加上--console
后发现需要配置--shared-memory
重新加载授权表
mysql客户端连接到服务器,并执行
1 | mysql |
修改root账户密码
1 | ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass'; |
期间出现一个问题:
1 | ERROR 1396 (HY000): Operation ALTER USER failed for ‘root‘@‘localhost‘ |
通过查询
1 | use mysql; |
发现
1 | +------------------+-----------+ |
尝试变更了下语句,执行
1 | ALTER USER 'root'@'%' IDENTIFIED BY 'MyNewPass'; |
成功。
重启服务器,尝试新的密码连接。
成功。