官网重置密码教程链接:(分windows与Linux)

https://dev.mysql.com/doc/refman/8.0/en/resetting-permissions.html

 

背景:
安装mysql虽给出了默认密码但我使用该密码无法登录到mysql,报Access denied for user 'root@localhost' (using password:NO)错误,跟着官网的方法解决了该问题

 

翻译官网解决方法并补充:
1. 管理员权限用户登录

2. 停止服务与关闭进程,必须确保两个都关闭(如果进程有mysqld就需要关闭,没有就只需要停止服务)

 2.1 停止服务

 

 2.2 任务管理器关闭mysqld进程

3. 在c盘创建txt文件,目录为C:\mysql-init.txt(可更改其他位置不过推荐跟着官网的,还是别乱改),在里面写更改root密码的命令,其中MyNewPass就是你想要改的新密码

ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';

4. 保存后,打开命令行cmd,输入命令

4.1 如果mysql的bin已在环境变量中则直接输入该命令

C:\> mysqld --init-file=C:\\mysql-init.txt

4.2 如果mysql的bin不在环境变量中则找到该bin文件夹,cd 切换到该目录下再输入该命令(例如在C:\Program Files\MySQL\MySQL Server 8.0\bin目录)

C:\> cd "C:\Program Files\MySQL\MySQL Server 8.0\bin"
C:\> mysqld --init-file=C:\\mysql-init.txt

5. 等待启动成功,若等了5分钟没反应,则重启电脑就好,然后就可以登录进去了

6. 最后把创建的那个文件删掉