方法描述:该方法是通过跳过权限安全检查,开启mysql服务,从而修改root的密码,来创建一个新的root密码,以供退出后重新登录mysql。
1. 首先检查mysql服务是否启动
若已启动则先将mysql服务停止,可在开始菜单使用以下命令来停掉服务。
net stop mysql57
我由于mysql57服务已经先停掉了,所以这里显示没有启动MySQL服务。
2. 先打开一个cmd窗口,切换到mysql的bin目录(这是我的bin目录)
cd "C:\Program Files\MySQL\MySQL Server 5.7\bin"
运行命令:(my.ini配置文件默认和安装目录不在一起,大多数采用默认安装mysql的话大致是在下述路径)
mysqld --defaults-file="C:\ProgramData\MySQL\MySQL Server 5.7\my.ini" --skip-grant-tables
该命令通过跳过权限安全检查,开启mysql服务,这样连接mysql时,可以不用输入用户密码。
3. 重新打开一个cmd窗口,连接mysql:
输入命令:(如果配置了环境变量可以一打开cmd就输入如下命令,如果没配置的话,请先切换到mysql的bin目录)
mysql -u root -p
出现:
Enter password:
在这里直接回车,不用输入密码。然后就会出现登录成功的信息,
4.修改mysql的root密码
(1)使用命令:
show databases;
显示/查看所有数据库。
(2)使用命令切换到mysql数据库:
use mysql;
(3)使用命令更改root密码:('新密码' 的位置是要输入你想要设置的密码)
update user set password=password("新密码") where user="root'; 5.7之前版本用这个命令
update mysql.userset authentication_string=password('新密码') where user='root'; 这是5.7版本的命令
(4)刷新权限:
FLUSH PRIVILEGES;
(5)退出。
quit;
至此,忘记的root的密码已经修改好,以后登录的操作和之前常规登录的操作是一样的。重新登录后你就又可以正常使用mysql 5.7了。
5.测试密码修改是否成功。
(1)重新登录:
mysql -u root -p
(2)出现输入密码提示,输入新的密码,回车,即可登录:
Enter password:********
显示登录成功信息。 就一切ok了。
总结:本文参考了https://blog.csdn.net/Coder_Jeremy/article/details/73928028 ,但记录了本人mysql 5.7的root密码修改方法亲测过程中遇到的一些容易踩的坑,希望对大家有帮助。由于版本不同的关系,原链接中的一些命令需要根据实际情况做一些修改,本文已经更新了这些地方。
————————————————————————————————
参考链接:https://blog.csdn.net/Coder_Jeremy/article/details/73928028