- 关闭正在运行的MySQL服务。 net stop mysql
- 打开DOS窗口,转到mysql\bin目录。
- 输入mysqld --skip-grant-tables 回车。–skip-grant-tables 的意思是启动MySQL服务的时候跳过权限表认证。 (my.ini 中放开这行代码)
- 再开一个DOS窗口(因为刚才那个DOS窗口已经不能动了),转到mysql\bin目录。
- 输入mysql回车,如果成功,将出现MySQL提示符 >。但是有时候自己的端口号不是3306,那么就不会成功, 所以就要输入mysql -u root -P xxxx -h localhost -p ,xxxx代表自己的端口号,这样就会提示你输入原来的密码,输入原来的密码,然后接下里的继续下面的步骤。
- 连接权限数据库: use mysql;
- 改密码(英文单引号):update mysql.user set authentication_string=password(‘123456’) where user=‘root’;
- 刷新权限(必须步骤):flush privileges;
- 退出 quit。
- 注销系统,再进入,使用用户名root和刚才设置的新密码root登录。
- 最后进去my.ini注释掉skip-grant-tables
但是如果是8.0+了,
8.0.21修改密码:~# use mysql;
~# flush privileges;
~# ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘你的密码’;
~# flush privileges;