Windows下重置MySQL密码(最开始是因为Access denied for user 'root'@'localhost'这个原因,无法登陆 'root'@'localhost')

本人使用的MySQL5.5,其他版本未测试过。

方法一:

更改密码:

mysql -u root -p
Enter password:***
mysql>use mysql;  选择数据库
Database changed 
mysql> UPDATE user SET password=PASSWORD("新密码") WHERE user='你的用户名';
mysql> FLUSH PRIVILEGES;  刷新权限
mysql> quit;

更改用户名:

mysql -u root -p
Enter password:***
mysql> use mysql;  选择数据库
Database changed
mysql> update user set user="新用户名" where user="root";    将用户名为root的改为新用户名
mysql> flush privileges;    刷新权限
mysql> exit

====================================================================================================================================================

方法二:

1. 进入命令行窗口,停止MySQL服务

  1. net stop mysql  

2. 输入mysqld --skip-grant-tables(此时当前的cmd窗口可能会没有反应,不要理会)

3. 重新打开一个cmd窗口并执行以下操作:

 
  1. mysql -uroot  
  2. update mysql.user set password=password('新密码') where user='root';  


4. 打开任务管理器,结束mysql.exe,mysqld.exe进程

5. 重启MySQL服务(net start msyql)(如果提示MySQL启动不成功,则重置密码多半失败,可以重启Windows后重复以上操作)。

----------------------------------------------------------------------------------------------------------------

综上,重置MySQL密码成功,可以通过以下方式测试:

原文地址:https://www.cnblogs.com/sutao/p/7928161.html