1.在终端命令窗口停止MySQL服务
打开cmd命令窗口(以管理员身份运行),在终端输入命令:
net stop mysql
报错显示服务名无效,如下图:
如果出现以上错误,是因为不能使用mysql,可能是其他服务名称。
解决方法:使用快捷键Win+R,输入services.msc,进入本地服务。
在服务名称找到MySQL,可以看到我的mysql服务名称是MySQL80,所以应该使用如下命令:
net stop mysql80
出现如下界面代表成功停止服务。
2.跳过密码登录MySQL
输入以下命令可以跳过密码登录:
mysqld --console --skip-grant-tables --shared-memory
成功输出端口、版本等信息之后,再次打开一个新的cmd窗口(注意:之前的窗口不要关闭)
在新的终端窗口输入以下命令,可以无密码登录MySQL:
mysql -uroot -p
3.将root用户密码设置为空,在第二个终端窗口输入如下命令(注意每条语句后面的分号):
use mysql;
update user set authentication_string='' where user='root';
设置成功显示如上页面,数据库更改了配置。
然后退出MySQL,输入quit命令
4.关闭以上打开的两个终端窗口,重新启动MySQL服务
重新打开一个终端窗口,输入以下命令重新启动MySQL:
net start mysql80
5.进入MySQL服务
输入以下命令:
mysql -u root -p
6.重新设置密码
使用如下命令重新设置密码:
ALTER USER'root'@'localhost' IDENTIFIED BY'199906';
成功输出如上页面,说明正确重置了密码。
可以再次输入:mysql -u root -p
命令验证一下。