MySQL修改密码8.0及以上

今天,突然就想玩玩数据库,于是就开始找了找,终于在我的机器上找到了Premium,然后我就打开它,建立新连接,结果我忘了数据库密码了,这下我可慌了,其实密码有可能放在我的U盘里,但是U盘现在和我差了12个小时的时差,这下怎么办,我慌了。于是,我抱着试试的心态试了几个密码,都不对。
我告诉自己一定要冷静,于是我又开始试试,直接点击连接,不输入密码了,结果,连上了!!!
我想了一下这是因为我之前保存密码的习惯,但是我也看不了密码是啥呀,于是我开始select,

select * from mysql.user; 

结果他给我整乱七八糟的,我就去表里自己看看了,天哪,这么多列数据,啥时候能找完。不找了,去度娘看看。度娘给我说用下面的代码

set password for root@localhost = password('123456');

报错,说什么password 不对,我想,语法没错呀,拼写也没错呀。
我又开始找了,我想我可能备份了,于是我就去根目录找,打开根目录,我想我知道我哪里错了,我的版本是8.0.2.1,这家伙不会是语法改变了吧,于是我又去找新语法,终于,苍天不负有心人,我找到了。

//先置空
update user set authentication_string='' where user = 'root';
//然后设置密码
alter user 'root'@'localhost' identified by 'mismysunshine';
//把中表中的信息更新到内存
flush privileges;

大功告成!!!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容