去年就装过一次数据库,然后今年系统重装了一下,数据库没了,一直也没有使用数据库的需求,就一直没搞数据库了,最近要用数据库,就装了最新的8.0.22.0的数据库,装好后发现密码一直错误,索性不输入密码直接回车竟然进了,顿时懵了,查阅了很多资料踩过很多坑终于解决了,这里记录和分享一下解决方法,可以少走一些坑。

 

一、mysql登陆后,为了查看root用户的信息(因为root用户信息是存在mysql数据库中的user表中),我们要先输入下面代码切换数据库,不管前面是不是mysql>开头都要输一遍。

use mysql;

 

二、切换到mysql数据库后输入下面代码回车,可以看到user为root的用户authentication_string为空,authentication_string表示用户密码,在mysql 5.7.9以后废弃了password字段和password()函数,所以5.7以上的mysql都得用authentication_string,记录图中root用户同行的host的值如图文字介绍指向的红色框内的值。我这里值是localhost

select host, user, authentication_string, plugin from user;

 

三、如果你的root那有值,可以先输入下面第一条代码回车,没有的输入直接输入第二条回车,第二行的代码时修改密码为123456,把123456你想要设置的密码,吧loacahost改成步骤二中记录的值,就是上图中记录的值。

update user set authentication_string='' where user='root';
ALTER user 'root'@'localhost' IDENTIFIED BY '123456';

 

显示ok就完成了,然后输入exit退出重新登录,输入你刚才设置的密码就登陆上去了。

 

你学废了吗。