1、在cmd端先停止掉mysql的服务。
net stop mysql
可能上面的指令不生效,或者直接在任务管理器的服务中停止掉MySQL服务。
2、打开一个cmd命令,输入
mysqld --defaults-file="C:\ProgramData\MySQL\MySQL Server 5.7\my.ini" --skip-grant-tables
注释:该命令通过跳过权限安全检查,开启mysql服务,这样连接mysql时,可以不用输入用户密码。
注意:上面的命令有说在mysql的bin目录下的执行的,也有说直接输入,这个个人可以试一试,但是我的电脑不知道为什么没有找到这个目录,我使用的直接下面的指令,跳过验证:
mysqld-nt --skip-grant-tables;
或者
mysqld --skip-grant-tables;
输入完,没有报错的话,就证明成功了,此窗口不要关闭
3、再打开新的一个cmd窗口,输入命令:
mysql -uroot -p
或者mysql -u -root
这里因人而异,我综合了其他的贴子,发现有这两个,我用的是第一个。
4、出现Enter password:
直接回车,不用输入密码,这里会发现已经登陆成功,我们之后只需要修改密码就好了
5、切换mysql数据库use mysql
6、输入命令,更改密码
update user set password=password("新密码") where user="root';
5.7之前版本用这个命令
update mysql.user set authentication_string=password('新密码') where user='root';
5.7之后使用这个。
7、刷新权限flush privileges;
8、退出quit
8、修改密码完成后,没有报错就证明成功了,我们接下来可以测试一下
mysql -uroot -p
,提示输入密码,输入后成功进入mysql;