参考博客地址:
输入mysql -u root -p登录,输入密码后报错:
Access denied for user ‘root’@‘localhost’ (using password: YES/NO)
解决步骤:
1.
# 管理员模式新开窗口1,停止mysql服务
windows系统:net stop mysql
Linux系统:service mysql stop
2.
#管理员模式新开窗口2,进入bin目录
使用mysqld -console --skip-grant-tables --shared-memory来跳过权限验证
3.越密码进入mysql
#管理员模式新开窗口3,在bin下打开mysql服务(输入密码处直接回车)
mysql -u root -p
4.进入后,设置密码为空
use mysql; (使用mysql数据表)
update user set authentication_string='' where user='root';(将密码置为空)
quit;
5.关闭窗口1、2,在窗口3中输入
net stop mysql
net start mysql
cd D:\mysql-8.0.19-winx64\bin (安装目录)
mysql -u root -p(直接回车)
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';(更改密码)
6.验证
quit(退出mysql)
mysql -u root -p
(输入新密码,再次登录)
如果遇到‘net’ 不是内部命令或外部命令,也不是可运行的程序或批处理文件的报错,则:
我的电脑-->属性-->高级-->环境变量 path的变量值新加: %SystemRoot%\system32
修改完成后,需要重新打开cmd命令行,否则不会生效的。