针对如下各种报错信息的处理方法,虽然看起来麻烦,实际很简单,windows系统下实操非常有效:
- ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: YES)
- ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: NO)
各种因密码问题登录不了mysql的,本文章提供的方法直接【重置】
目录
一、第一个cmd窗口:跳过密码验证
1.以“管理员”身份打开第一个cmd,并用cd切换到安装mysql中bin目录
1.1
//cd 你安装mysql的目录\bin
cd C:\Users\Sgy\mysqlDB\mysql-8.0.34-winx64\bin
1.2
2. “跳过密码验证”前关闭MySQL服务
net stop mysql
3. 本文章的核心代码语句:跳过密码验证
mysqld --console --skip-grant-tables --shared-memory
注意:此cmd界面可能会卡住,属于正常的,第一个cmd窗口界面的“跳过密码验证”任务已达到,但先别关闭此窗口,待第二个cmd窗口重置为“空”密码后再关闭。
二、第二个cmd窗口:重置密码
1. 与打开第一个cmd窗口一样,以“管理员”身份打开第二个cmd,并用cd切换到安装mysql中bin目录
//cd 你安装mysql的目录\bin
cd C:\Users\Sgy\mysqlDB\mysql-8.0.34-winx64\bin
然后 输入 mysql -u root -p 直接enter键,再enter键进入MySQL, 如下图:
2.将登陆密码设置为空
use mysql;
update user set authentication_string='' where user='root';(将密码置为空)
exit; (然后退出Mysql)
如图:
3.更改自己的登陆密码
1.关闭第一个cmd窗口(一定要关闭)
2.在第二个窗口中输入代码
net stop mysql(关闭mysql服务)
net start mysql(再打开mysql服务)
mysql -u root -p
3.修改密码
ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘新密码’;
更改成功