MySQL5.7忘记root密码-手动修改密码教程

MySQL 5.7相对于MySQL 5.6在应用上发生了一些新的变化,这里就MySQL5.7忘记root密码情况下,手动去修改root密码做一些介绍。

操作系统:Windows10 

数据库版本:MySQL 5.7.20

1.Windows10命令行下,进入MySQL数据库输入错误密码报错

MySQL安装路径已经添加到系统环境变量中的情况,直接输入命令:

mysql - u root -p

再输入密码错误时会报错:

MySQL5.7忘记root密码-手动修改密码教程_第1张图片

2.先停止MySQL服务

直接输入命令:

net stop MySQL57

这里注意检查你的MySQL服务名词是否是MySQL57,否则会报服务名无效错误哦。可以去系统服务里面查看,其实可以在系统服务里右键直接停止服务,我们这里为了全程使用命令行模式,就往下继续啦~

很奇怪的是,服务名没错,还是不能启动MySQL服务! 
提示发生系统错误 5;拒绝访问!

MySQL5.7忘记root密码-手动修改密码教程_第2张图片

其实切换到管理员模式就可以启动了。

注意:必须以管理员身份运行MySQL服务,否则会提示:发生系统错误 5;拒绝访问!

MySQL5.7忘记root密码-手动修改密码教程_第3张图片

3.修改参数文件跳过密码验证

有人建议使用mysqld –skip-grant-tables启动MySQL服务,结果可能出现报错:

MySQL5.7忘记root密码-手动修改密码教程_第4张图片

解决方法是:

找到MySQL安装路径下的my.ini配置文件文件在[mysqld]节点下方添加:

skip-grant-tables = true

有些没找到my.ini配置文件,因为my.ini配置文件默认和安装目录不在一起,可以全局搜一下。

我的配置文件的路径是C:\ProgramData\MySQL\MySQL Server 5.7\my.ini

默认安装路径是:C:\Program Files\MySQL\MySQL Server 5.7\bin

MySQL5.7忘记root密码-手动修改密码教程_第5张图片

保存文件后,需要重启服务:

net start MySQL57

 

4.修改密码

用户登录,直接输入:

 

mysql -u root

直接回车就可以进入到数据库了。

再执行命令修改密码:

update mysql.user set password = password('123456') where user='root';

 

 这里注意一下:

MySQL5.7忘记root密码-手动修改密码教程_第6张图片

在MySQL5.7里面没有“password”这个字段,使用的是“authentication_string”字段,直接执行命令

update mysql.user set authentication_string = password('123456') where user='root';

MySQL5.7忘记root密码-手动修改密码教程_第7张图片

可以看到执行成功了,密码修改为123456。

还需要执行筛选权限的命令:flush privileges;

5.验证使用修改后的密码登录数据库

在验证新密码是否成功之前,可以先将配置文件中新添加的跳过密码验证的参数去除,然后在重启MySQL服务。

同样可以使用命令来验证,不使用密码是能否登录数据库。

最后使用新密码来登录数据库,可以成功。

MySQL5.7忘记root密码-手动修改密码教程_第8张图片

到这里纠结束了,希望对一些遇到类似问题的人有帮助。

 

你可能感兴趣的:(MySQL,数据库)