Access denied for user 'root@localhost' (using password:NO)通过官网给的方法更换Mysql的root密码
官网重置密码教程链接:(分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. 最后把创建的那个文件删掉