1.输了几次,密码都错误,忘记了。。。

2.编辑mysql安装文件夹(D:\mysql-5.7.26-winx64)下的my.ini文件,mysqld标签下输入 skip-grant-tables,字面意思:跳过-授权-表,记得”保存“

3.重启mysql,linux下(/etc/inint.d/) service mysqld restart,windows下(管理员身份运行cmd) net stop mysql net start mysql
4.不输入密码,可以进入数据库了,use mysql

5.重新设置密码,update user set password=password('123456') where user="root";
出错了,于是去看下表结构

确实没有password字段,去查了下,要修改authentication_string字段
update mysql.user set authentication_string=password('123456') where user='root';
flush privileges; 立即生效

6.返回过去复原(就跟玩魔方一样),把之前my.ini文件下的那句话去掉,然后再重启mysql,最后就试一下不输密码和输密码,看看OK了没?OK。

当忘记MySQL密码时,可以通过编辑my.ini文件,添加skip-grant-tables,重启MySQL服务,然后不输入密码进入数据库,更新users表的authentication_string字段来重置root密码。之后需恢复my.ini文件并重启服务以确保安全。

5848

被折叠的 条评论
为什么被折叠?



