mysql忘记root密码
环境:windows系统,mysql8.0.41版本
问题描述:长时间未用mysql,忘记root密码,无法登录;
解决思路:
1.停止mysql服务;
2.用mysqld --console --skip-grant-tables --shared-memory命令启动mysql,这个命令之后,可以不用密码进入mysql;
注意第二步如果可以正常执行,则不用做数据拷贝;若第二步报错,需要将Data文件夹拷贝到mysql安装目录,等修改好密码后,还需要将Data文件夹拷贝到原来位置;
3.进入mysql页面,修改root密码;
详细步骤:
1.将mysql服务停止,管理员权限打开cmd,输入net stop MySQL80,停止服务;
2.管理员权限打开cmd,输入mysqld --console --skip-grant-tables --shared-memory;如果可以正常执行,一切正常;若执行失败,如下图,某些文件无法创建,这个原因是mysql的数据文件跟安装目录不在一起,需要将数据文件夹里的Data文件夹拷贝到mysql安装目录,再次执行mysqld --console --skip-grant-tables --shared-memory命令;保持cmd窗口不关闭
我这边的存储数据的文件目录在C:\ProgramData\MySQL\MySQL Server 8.0,
安装目录在C:\Program Files\MySQL\MySQL Server 8.0,供参考;
再次备注:若是将Data文件夹拷贝到安装目录,修改好密码之后,需要将文件夹从安装目录拷贝到数据文件夹里,这样修改的密码才会生效;
3.另开一个管理员权限的cmd窗口,输入mysql -uroot -p;然后直接回车,不用密码,就可以进入mysql命令行;
进入后输入USE mysql;
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
执行成功后,退出;
4.将第二步的cmd窗口停止;然后启动mysql服务; net start MySQL80;
5;正常打开mysql,用root用户登录,密码已经修改完成
原创,转载注明出处