mysql8.0忘记密码或出现Access denied for user 'root'@'localhost' (using password YES)

1、找到mysql安装路径

(可以在环境变量中找)

2、以管理员身份打开命令行,停止服务

(win+q输入cmd右击)

(net stop mysql)//关闭mysql服务

3、cd 到mysql安装路径的bin目录,之前版本输入mysqld --skip-grant-tables,8.0输入mysqld --console --skip-grant-tables --shared-memory

4、打开另一个管理员命令行,cd 到mysql安装路径的bin目录,输入mysql,输入use mysql

5、flush privileges;

alter user 'root'@'localhost' IDENTIFIED BY '123456';  //修改密码(mysql8.0以后版本密码必须包含大小写字母特殊字符和数字)
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;  //给root赋予所有权限
flush privileges//刷新使其生效

7、\q //退出

8.将两个管理员命令行关闭

9、重新以管理员打开命令行,net start mysql //开启mysql服务

10、登陆 mysql -u root -p

成功搞定

(ps:若是报ERROR 1396 (HY000): Operation ALTER USER failed for ‘root’@'localhost’错误,则输入)

use mysql;

select user,host from user; //查看所有用户的权限

mysql8.0忘记密码或出现Access denied for user 'root'@'localhost' (using password YES)_第1张图片

然后将第2步中的localhost改成%

你可能感兴趣的:(MySQL)