在学习node要使用mysql的时候因为太久没用忘了mysql的配置导致密码整忘记了
结果在网上搜索了很久如何把密码找回 都没有成功 终于在网上找到了一篇可以拯救我的文章
首先一定要知道你的mysql是什么版本的
mysql是最近在官网下载的一般就是8.0的
老版本的就是5.7的
MySQL 8.0.15忘记密码重置方法
1.打开命令窗口cmd,输入命令:net stop mysql,停止MySQL服务,
2.开启跳过密码验证登录的MySQL服务
输入命令
mysqld --console --skip-grant-tables --shared-memory
3.再打开一个新的cmd,无密码登录MySQL,输入登录命令:mysql -u root -p
4.密码置为空,命令如下:
use mysql
update user set authentication_string='' where user='root';
5.退出mysql,执行命令:
quit
6.关闭以-console --skip-grant-tables --shared-memory 启动的MySQL服务,
7.打开命令框,输入:net start mysql 启动MySQL服务。
8.步骤4密码已经置空,所以无密码状态登录MySQL,输入登录命令:mysql -u root -p
9.利用上一篇博客中更改密码的命令,成功修改密码,如下:
ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘111111’;
10.验证更改后密码正确登录
输入quit,退出当前登录,输入登录命令:mysql -u root -p
输入密码,成功登录,到此,重置密码结束。
MySQL5.7忘记密码解决方案
第一种方法
首先是网上普遍见到的
关闭服务
windows 下在 C:\ProgramData(隐藏文件夹)\MySQL\MySQL Server 5.7\my.ini 中的 [mysqld]下 添加 skip-grant-tables
重启服务,再次登陆此时已经不需要密码了
删除原来的那句 skip-grant-tables ,再重启下服务就OK了
但是我按照这种方法在第三步的时候仍然需要密码,如果有同学也是像我这样的话可以尝试下下面这种方法
第二种方法
关闭服务
windows 下在 C:\ProgramData\MySQL\MySQL Server 5.7\my.ini 中的 [mysqld]下 添加 skip-grant-tables
在一个cmd窗口中刚输入 mysqld --skip-grant-tables , 再开启第二个窗口直接输入 mysql 可以直接进入了
修改密码,如下几条命令
use mysql
update user set authentication_string=password(‘密码’) where user=“用户” and host=‘localhost’;
flush privileges;
删除原来的那句 skip-grant-tables ,重启服务
所看到的博客出处
https://msd.misuland.com/pd/3255818135034403610