Mysql 5.7 忘记root密码或重置密码的详细方法
1、修改配置文件my.cnf 按i编辑
[root@mihutao ~]# vim /etc/my.cnf
在[mysqld]中添加
skip-``grant``-tables
例如:
[mysqld]``**skip-``grant``-tables**``datadir=/var/lib/mysql``socket=/var/lib/mysql/mysql.sock
键盘 Esc 保存修改 :wq退出
2、重启mysql服务
service mysqld restart
3、用户登录
mysql -uroot -p (直接点击回车,密码为空)
选择数据库
use mysql;
下面我们就要修改密码了
以前的版本我们用的是以下修改
update` `user` `set` `password``=``password``(``'root'``) ``where` `user``=``'root'``;
但是在5.7版本中不存在password字段,所有我们要用以下修改进行重置密码
update` `user` `set` `authentication_string=``password``(``'123456'``) ``where` `user``=``'root'``;
执行
flush ``privileges``;
4、退出mysql
quit;
5、将最开始修改的配置文件my.cnf中的skip-grant-tables删除
6、重启mysql
7、当你登陆mysql之后你会发现,当你执行命令时会出现
ERROR 1820 (HY000): You must reset your ``password` `using ``ALTER` `USER` `statement;
这是提示你需要修改密码
当你执行了
SET` `PASSWORD` `= ``PASSWORD``(``'123456'``);
如果执行成功后面的就不要看了,纯属浪费时间!
如果出现:
ERROR 1819 (HY000): Your ``password` `does ``not` `satisfy the ``current` `policy requirements
你需要执行两个参数来把mysql默认的密码强度的取消了才行
set` `global` `validate_password_policy=0; ``set` `global` `validate_password_mixed_case_count=2;
这时你再执行
SET` `PASSWORD` `= ``PASSWORD``(``'123456'``);
本文来自博客园,作者:迷糊桃,转载请注明原文链接:https://www.cnblogs.com/mihutao/p/16814497.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)