1. 关闭正在运行的MySQL服务
2. 管理员身份打开DOS窗口,转到mysql\bin目录
3. 输入mysqld --skip-grant-tables
回车 --skip-grant-tables
的意思是启动MySQL服务的时候跳过权限表认证
4. 管理员身份再开一个DOS窗口(因为刚才那个DOS窗口已经不能动了),转到mysql\bin目录
5. 输入mysql -u root
回车,如果成功,将出现MySQL提示符 :
Welcome to the MySQL monitor. Commands end with ; or \g.
6. 修改密码
- 连接权限数据库:
use mysql;
- 改密码:
update user set password=PASSWORD("root") where user="root";
如果 mysql5.7以上版本
update user set authentication_string=PASSWORD("root") where user="root";
修改完成会有提示:
Query OK, 1 row affected, 1 warning (0.02 sec)
Rows matched: 1 Changed: 1 Warnings: 1
7. 刷新权限:
flush privileges;
(这步可能会有错误提示Table 'mysql.servers' doesn't exist
,然而执行show tables;
servers表是存在的,暂时不知道原因)
8. 退出
quit;
- 任务管理器中找到并结束mysqld进程,重启mysql服务,使用用户名root和刚才设置的新密码登录。