在本地安装了MySQL数据库,给项目创建了账号密码后,就没有再使用root账号,结果一段时间后,root账号密码忘记了……
这里参考的一位老哥的文章,给力root密码忘记
MySQL下载安装详解
我把自己的步骤写下来留着自己下次忘😂
我的MySQL版本是8.0.26,适用8.0以上版本,再早的版本不清楚
问题描述:
正常来讲
mysql -u root -p
然后输入密码就可以了
使用root账号登录进去才有资格修改root账号密码,所以我们的解决办法就是以root权限跳过密码登录进去,然后修改密码
第一步:关闭MySQL服务
首先停止mysql服务,net stop mysql(需要以管理员身份才可以)
(这是第一个窗口)
第二步:跳过MySQL密码验证
使用管理员身份打开命令提示符,进入mysql目录中bin文件夹下,mysql8.0与其他版本不同的地方在于无法直接使用mysqld --skip-grant-tables来跳过密码登录,在这我们使用mysqld --console --skip-grant-tables --shared-memory来跳过权限验证。
mysqld --console --skip-grant-tables --shared-memory
这里输入后如果没有反馈,新开一个管理员窗口重新执行。
(这是第二个窗口)
确保已经关闭MySQL的服务:net stop mysql
继续到bin目录下进行操作
mysqld --console --skip-grant-tables --shared-memory
可以看到,如下显示,我们已经跳过MySQL的密码登录了
第三步:无密码方式进入MySQL
现在需要再打开一个管理员的命令窗口 (这是第三个窗口)
进入mysql的bin目录下,直接登录mysql
mysql -u root -p
然后会显示让你输入密码,直接回车,就可以成功进入到MySQL
第四步:将登录密码设置为空
use mysql;(使用mysql数据表)
update user set authentication_string='' where user='root';(将密码置为空)
quit;(退出mysql)
第五步:修改root账号密码
首先,关闭前两个cmd窗口(一定要关闭!)
在第三个窗口中输入代码:
net stop mysql(以防万一)
net start mysql(打开mysql服务)
接着在bin目录下
cd .\soft\data\MySQL8.0\mysql-8.0.26-winx64\bin\(此处输入自己电脑上的安装目录)
mysql -u root -p(此处会显示输入密码,直接回车就好了,第四步我们已经将他置为空了)
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';(更改密码)
在这里插入图片描述
最后一步:验证密码是否修改成功
quit(退出mysql)
mysql -u root -p(根据修改的密码登录)
成功!