Mysql 8.0 忘记密码报错1045办法,skip-grant-tables不管用

1.首先关掉系统服务

2.打开命令窗口,用mysqld --console --skip-grant-tables --shared-memory可以无密码启动服务,不关闭窗口
3.另外开一个管理员窗口打开mysql服务,执行mysql.exe -u root命令,空密码登入系统

mysql.exe -u root
  • 1

4.然后执行sql命令将root用户密码设置为空

UPDATE mysql.user SET authentication_string='' WHERE user='root' and host='localhost';
  • 1

5.然后可以用命令设置你要的新密码
alter user root@localhost identified by ‘新密码’;

①.先跳过密码验证,操作是:将最后一行 # skip-grant-tables 开启,就是把#号去掉
②.重启mysql,操作是:在bin目录下,cmd进入执行语句:
net stop mysql//停止mysql
net start mysql//开启mysql
mysql -u用户名 -p//登陆mysql
use mysql//选择数据表
update user set password=password("新密码") where user="root";//更改密码
③.将第一步去掉或注释
④.重启mysql,跟第②步一致

这时你再连接mysql就ok了



作者:webjiacheng
链接:https://www.jianshu.com/p/898b53ff71d6
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
原文地址:https://www.cnblogs.com/chenKnowledgeConllection/p/12248988.html