绕过本地mysql登录验证改密码

  我们知道,一旦忘记mysql用户密码是挺麻烦的一件事。题主用的是免安装的5.7.30mysql,开始因为没有记住默认密码废了很大周折,这里简单记录下 

  文章最后还有对图形化界面因为如此操作后报错的方案

贴一个免安装板的配置链接 5.7.30-winx64下载和安装; 我是按照这个执行的,但是我将随机生成的初始密码忘记了

要绕过mysql密码验证第一步,先在任务管理器服务右键打开服务 关闭mysq服务

以管理员身份打开cmd,然后进入到你解压的mysql的bin目录下(如果bin目录在D盘 那就是cd  /d +你的bin路径  其他盘的更换标红字母即可)

输入 mysqld --skip-grant-tables 然后不要关闭这个窗口(这时候其实是在运行后台服务跳过密码验证)

在按照同样开启cmd的方式再打开一个进入bin目录    用root用户直接免密登录  mysql -u root -p

切换数据库  use mysql  后更改密码  update user set authentication_string = password("000") where user = "root"   这里意思是设置root用户的密码是000

刷新表  flush privileges            提醒,每句命令后记得加英文分号   ;      还有就是下图打马赛克部分是因为我输错字母

 

最后关闭之前的跳过验证cmd窗口 ,打开mysql服务,尝试用新的密码登录 

成功!!

 

改密码系统报错时也可以用此方法修改密码,这里贴一个其他博主的参考链接  ERROR 1054 (42S22): Unknown column 'password' in 'field list'

 

然后还没完,哈哈哈,因为好多博主总结的没写这样更改后在图形界面的报错怎么解决,这里我用的是 Navicat 

1862 - Your password has expired. To log in you must change it using a client that supports expired passwords.

上图两种报错都在cmd可以用    mysqladmin -u root -p password   重置密码解决

emmm,原理不太清楚,猜测是第一次改密码和图形界面配置冲突。没想到更好的解决方案,希望以后会有吧

 

 

全部评论

相关推荐

今天 16:43
已编辑
北京交通大学 Java
点赞 评论 收藏
分享
只写bug的程序媛:才15,我招行20多万,建设银行50多万,说放弃就放弃
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务