【背景】
近来进修碰到了一件挺使人为难的事变,我把MySQL的暗码给遗忘了,所以MySQL登录不进去。
网上的处理方案许多,尝试了许多,依旧是被窗口的种种报错虐。谢谢大神的助力,MySQL遗忘暗码处理方案才得以清楚,愿望本篇博客的处理历程能够帮到读者。
【题目处理历程】
一、跳过MySQL的权限检察进入MySQL
起首,找到MySQL的my.ini配置文件。
然后,翻开文件,在mysqld下,增加一句代码 skip-grant-tables ,以跳过权限的考核。
很主要的一步:win+R 输入services.msc,找到mysql效劳,重启效劳。
我疑心我之前操纵的时刻,这一步没有实行准确。(而且,这里我也有点疑问,我怎样有两个MySQL效劳,一个MySQL,一个MySQL57,MySQL属性里没有配置文件,而MySQL57是有的。)
二、在mysql.user表中重置暗码
起首,cmd进入DOS窗口,输入MySQL,回车。就能够顺遂进入MySQL,而不须要暗码。(我之前连这一步都 完成不了,所以当胜利进入MySQL的时刻,别提我内心多愉快了~~)
然后,我们再看看mysql.user内外都有啥。 select user,host,authentication_string from mysql.user
(Tips:一开始查询 password,发明这个字段是不存在,厥后上网查才晓得MySQL5.7 把password的字段给换掉了,换成了authentication_string<中文寄义 认证字符串>。)
=================================
此处,对host举行一下相识。
Host列指定了许可用户登录所运用的IP局限。
比方user=root Host=192.168.21.1。这里的意义就是说root用户只能经由过程192.168.21.1的客户端去接见。而%是个通配符,假如Host=192.168.1.%,那末就示意只如果IP地点前缀为“192.168.21.”的客户端都能够衔接。假如Host=%,示意一切IP都有衔接权限。所以要开启长途衔接的时刻,大部分人都直接把Host改成%的原因,由于如许超等轻易。
=================================
很主要的一步:我们设置一下host和暗码。
Update mysql.user set host="%",authentication_string=password('root') where user='root';
三、革新权限,将变动完且处于缓冲区内的数据更新。 flush privileges
另有一点小疑问:革新以后,你直接输入mysql,是没有办法跳过暗码考核进入MySQL的,然则配置文件明显还没有把那句 skip-grant-tables 解释掉啊?革新会疏忽掉适才修正的配置文件么?
横竖,厥后照样把my.ini里那句 skip-grant-tables 解释了。。
四、运用你的暗码登录吧!
起首,输入 mysql -u root -p ,然后输入适才设置的暗码,你就能够胜利进入啦!
末了,请养成好习惯,记着你的宝贝暗码。:)
【小结】
本来想重新装置MySQL的心都有了,然则照样对峙到题目胜利处理,历程是有点痛楚,然则结局是优美的。
相干引荐:
Windows10装置MySQL5.7及遗忘root暗码修正要领
Window下Mysql遗忘root暗码怎样重置的图文细致引见
MySQL之——遗忘Root暗码怎样操纵
以上就是Windows 8.1下MySQL5.7 遗忘root 暗码怎样处理的细致内容,更多请关注ki4网别的相干文章!