目录
一、Linux下MySQL忘记root密码
情景再现
忘记MySQL连接密码
1、停止MySQL服务
[root@localhost ~]# systemctl stop mysqld
2、安全模式启动MySQL服务,并暂时跳过权限表验证以及禁用网络连接
[root@localhost ~]# mysqld_safe --skip-grant-tables --skip-networking &
mysqld_safe
是一个脚本,用于以安全模式启动MySQL服务器。这种方式启动MySQL时,它会检查一些基本条件,并在出现问题时尝试修复。--skip-grant-tables
参数跳过了权限表的检查,这意味着在启动时MySQL不验证任何用户凭据,任何人都可以无需密码连接到MySQL服务器。--skip-networking
参数则禁用了MySQL监听任何网络接口,只允许本地Unix套接字连接。这样做是为了增加安全性,防止在跳过权限检查时外部用户通过网络访问数据库。
3、更新mysql.user
表中root
用户的密码。
update mysql.user set password=PASSWORD('123456') where user='root' and host='localhost';
4、刷新MySQL的权限缓存
flush privileges;
二、Windows下MySQL忘记密码(8.0以上版本)
情景再现
忘记MySQL连接密码
1、通过管理员方式打开cmd,cmd程序路径一般在C:\Windows\System32
2、进入到mysql安装路径中的bin文件,停止mysql服务
net stop mysql
忘记bin文件路径可以跳过win+r输入services.msc找到MySQL右击属性查看,最好提前复制下来
3、跳过权限表验证
mysqld –skip-grant-tables在8.0及以上版本不使用了
mysqld --console --skip-grant-tables --shared-memory
4、再用同样的方法以管理员权限进入mysql安装路径中的bin文件
必须是另外一个cmd窗口哦
上一个跳过权限表验证的窗口也不要关闭
5、更新root用户密码
update user set authentication_string='' where user='root';
alter user 'root'@'localhost' identified by '123';
flush privileges;
alter user 'root'@'localhost' identified by '123';
flush privileges;
6、重新启动MySQL登录
net start mysql
7、使用新密码登录
#不建议-p参数后直接加密码,这里为了展示方便
mysql -uroot -p123
玄机博客
© 版权声明
1.本站内容仅供参考,不作为任何法律依据。用户在使用本站内容时,应自行判断其真实性、准确性和完整性,并承担相应风险。
2.本站部分内容来源于互联网,仅用于交流学习研究知识,若侵犯了您的合法权益,请及时邮件或站内私信与本站联系,我们将尽快予以处理。
3.本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
4.根据《计算机软件保护条例》第十七条规定“为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。”您需知晓本站所有内容资源均来源于网络,仅供用户交流学习与研究使用,版权归属原版权方所有,版权争议与本站无关,用户本人下载后不能用作商业或非法用途,需在24个小时之内从您的电脑中彻底删除上述内容,否则后果均由用户承担责任;如果您访问和下载此文件,表示您同意只将此文件用于参考、学习而非其他用途,否则一切后果请您自行承担,如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。
5.本站是非经营性个人站点,所有软件信息均来自网络,所有资源仅供学习参考研究目的,并不贩卖软件,不存在任何商业目的及用途
THE END
暂无评论内容