mysql8.0.13本地安装忘记密码解决办法
之前一直用图形化界面,加上考研期间也没动,竟然把我的数据库密码给忘了,无地自容.......
找了找教程,问题如下:
MySQL从低版本向高版本迭代变化的过程,越来越严谨的安全性是其一大特点之一,在版本6前,当忘记密码,重置密码,非常方面,只需使用执行如下两步即可:
步骤一:跳过权限表
mysqld –skip-grant-tables
步骤二:将密码置空
UPDATE user SET authentication_string='' WHERE user='root';
然而,这个方案,却在MySQL8不适用!!!!
1.首先需要关闭mysql服务。
用管理员身份进入dos
输入命令:net stop mysql
或者用服务关掉mysql服务
2.无密码登录数据库
mysqld --console --skip-grant-tables --shared-memory
3.重新打开一个窗口(以管理员身份),无密码登录,登录之后将密码置空!
(1)进入mysql安装目录下的bin目录
(2)输入命令:mysql -u root
(3)登录之后用这个命令将密码置空!
注意:authentication_string采用的是plugin加密方式,故设置为空,不要设置为其他值(答应我!)
update mysql.user set authentication_string='' where user='root' and host='localhost';
4.重新打开一个窗口(以管理员身份),前两个关闭,启动服务
net start mysql
5.无密码登录,登录之后再修改密码为root,之后就可以用新密码登录了。
(1)无密码登录:mysql -u root
(2)修改密码为root:alter user root@localhost identified by 'root';
(3)使用密码登录:mysql -u root -p
至此,密码已经改好了。
一个题外话:我原来的密码就是root,我记成了123456,试了123456,123,456,0000都不对!修改完密码之后图形化界面都没修改链接就登上了,我服了我自己......