【真实有效】Window10系统下mysql-8.0.13-winx64的修改密码
忘记密码不可怕,不会修改才尴尬!
在一次小组开发项目中,我们采用的是Git控制版本管理,每次我pull下来的代码,因为我比较懒,所以就是直接覆盖了,但是在数据库连接的配置文件中,每台机器的数据库密码不一定一样,但是你从Git摘下来的东西,就是别人的数据库密码。
为了统一,自我牺牲,将我的密码修改为他们的一致的密码,结果...............你懂的,
=================================================================================
想必大家都是按照网上的一些方法修改的,当然有成功的,但是忽略了一点,mysql的版本不一样,修改密码的指令就可能存在小的差异啊!
我就是这样改完直接崩了,登录都登不进去,心态直接爆炸!!!
此处省略一万字.......
直奔主题
1. 忘记密码篇(注意:这是成功教学,真实有效)
(1)首先,请关闭MySql服务
我觉得你肯定有能力找到这个服务!!!,百度大法好
(2)
分析一下,我们没密码,怎么登陆修改密码啊?
mysql专门为咱们这种大马虎搞了一个机制,可以直接跳过验证,就可以登录。网上也有,但是在我这个8.0版本以上的mysql,失效。
你们搜到的是不是 =========在my.ini文件当中的mysqlId下添加skip-grant-table=========
老版本是有用的,但是最新的数据库版本这个命令已失效,会发现命令窗口仍然跳出下一行待输入指令。
不讲废话,就是上代码
mysqld --console --skip-grant-tables --shared-memory
打开cmd,一直cd进入你的mysql的安装目录的bin目录下,比如我的:
D:\program_tools\mysql\mysql-8.0.13-winx64\bin
请看我操作:
继续....................
复制粘贴我刚才说的核心代码,直接执行。
结果看不懂没关系,只要出现了如下图的字眼,你就成功了.............................一小半。
continue
此处命令窗口别动!!!
另外开一个cmd,直接输入mysql ,走你:
输入指令
use mysql; //注意有分号哦
不一样的地方来了......
===================不想看错误部分可以直接跳过==================
请再次注意我们的mysql是8.0及以上的版本,使用传统的指令,如下图(我给的是图片,防止你们也执行,但是可以自己试一下看错误是不是一样的)。
肯定会报错,报错如下:
瞧见没,就是上面的错,为什么会这样,我查了一下。
mysql是8.0及以上的版本已经取消了password关键字,也就是说现在对于密码的关键字不是password,所以修改密码它识别不了这个password,自然就抛出语法错误。
所以呢?上新家伙:
mysql_native_password //注意这不是命令,这是mysql8.0的一种密码加密规则,具体我也不太懂,
//我后面懂了,我再回来补充。
=====================错误部分结束========================
回到正轨.......
输入如下代码:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';
令人头痛弄得是,有时会出现这种情况:
不过没关系,一旦出现了这种情况,请执行如下语句:
flush privileges; //刷新一下权限表
这个语句是啥意思啊!
================================flush privileges; ==============================
该命令本质上的作用:是将当前user和privilige表中的用户信息/权限设置从mysql库(MySQL数据库的内置库)中提取到内存里。MySQL用户数据和权限有修改后,希望在”不重启MySQL服务”的情况下直接生效,那么就需要执行这个命令。通常是在修改ROOT帐号的设置后,怕重启后无法再登录进来,那么直接flush之后就可以看权限设置是否生效。而不必冒太大风险。
再次粘贴刚才的代码(如若没出现这种错误,请忽略本条)
执行及如果如下:
再刷新一次,即执行flush privileges;
到这里密码就修改完成了,后面就是测试一下登陆结果
2. 测试登陆
(1)关掉刚才的所有cmd窗口(一定要关,不然服务起不来);
(2)干啥都要记住,打开MySQL服务;
(3)最后就又是一顿操作,通过cmd进入mysql的安装目录的bin文件夹下,输入如下指令:
mysql -uroot -p
具体操作按上图一步一步来
(1)同样进入mysql的安装目录的bin文件夹下;
(2)输入mysql -uroot -p
(3)输入刚刚修改的新密码;
登录结果出现: mysql >
表示登陆成功!!!
最后我表示,学会修改MySQL密码的过程很痛苦,但是一步一步走起来,当你成功后,你会发现自己真的可以。
可能文章中有些地方有些错误,希望大家可以多多交流,指出不足之处。谢谢各位了!
老样子,送各位一句话:
过程很痛苦。收获很幸福。