- 前言
- 1. 过程
- 1. 1 关闭mysql服务
- 1.2 绕过密码登录
- 1.3 无密码登录并修改为空密码
- 1.4 空密码登录在修改密码
出现这种情况
ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: NO)
或者是
ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: YES)
截图如下:
多次尝试之后
一直显示登录不成功
这种多数是忘记了密码
那么如何绕过密码登录进去再重新修改密码呢
1. 过程以下过程都是在安装mysql中的进行
在bin的目录下进行
需要绕过密码登录的前提是关闭mysql的服务
使用命令
net stop mysql
或者在电脑中的服务项中将其关闭,一定要都关闭,不然会失败
有些电脑还会有其他mysql名字
由于博主使用的mysql版本是8以上,如图所示
绕过密码登陆的命令是不一样的,主要区分于5和8以上两个跨度
如果是版本5左右,执行以下这个命令行,在版本8以上会执行不成功
mysqld --skip-grant-tables
如图所示
在版本8以上执行这个命令
mysqld --console --skip-grant-tables --shared-memory
如果出现以下,说明成功了
出现如上的提示
说明已经成功了,窗口暂且不能关闭
使用管理员打开另外一个cmd命令行
通过mysql -u root -p,密码为无点击enter即可进入
进入之后还需要将其密码修改为空在退出(此处如果直接修改密码会出错)
进入之后使用use mysql;
修改密码update user set authentication_string='' where user='root';
补充一下新旧版本的修改密码可查看我之前的文章
修改sql密码(涵盖多个版本)
之后再将其退出quit;
将其修改为空密码之后
第一个窗口就可以将其关闭了
之后再使用mysql -u root -p登录即可
登录成功之后
直接修改密码
新版本的修改密码使用
旧版本的修改密码同样可看我上文中的链接
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
之后退出登录quit;
在重新登录即可成功



