【mysql】window下忘记root密码 或者 提示ERROR 1045 (28000): Access denied for user 'root'@'localhost'

时间:2022-03-01 20:37:40

适用于解决windows下忘记root密码或者提示ERROR 1045 (28000): Access denied for user ‘root’@’localhost’的问题
若是在linux下,可以转至这篇博客
1、在DOS窗口下输入net stop mysql5net stop mysql
2、开一个DOS窗口,这个需要切换到mysql的bin目录,或者将bin目录加入到系统环境变量PATH中。

mysqld-nt --skip-grant-tables;

mysqld --skip-grant-tables;

3、不要关闭上一个窗口,再开一个DOS窗口。上一步执行完之后会一直卡在那,是正常现象,在新窗口中输入,mysql -u root
4、进入到mysql,重置密码

use mysql
UPDATE mysql.user SET authentication_string=PASSWORD('admin') where USER='root';

PS:有的mysql版本可能没有authentication_string字段,是password,改一下:
UPDATE mysql.user SET PASSWORD=PASSWORD('admin') where USER='root';

FLUSH PRIVILEGES;
exit

5、关闭dos窗口,开启mysql服务,重新登录即可。

net start mysql
mysql -hlocalhost -uroot -p