适用于解决windows下忘记root密码或者提示ERROR 1045 (28000): Access denied for user ‘root’@’localhost’的问题
若是在linux下,可以转至这篇博客
1、在DOS窗口下输入net stop mysql5
或 net 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