其他分享
首页 > 其他分享> > Access denied for user 登录密码错误情况

Access denied for user 登录密码错误情况

作者:互联网

报错信息:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)


可能情况:

  1. MySQL服务未启动;
  2. 访问端口不正确;
  3. 配置文件出现的错误;
  4. 远程登录权限不够;
  5. 密码错误无法登录;
  6. 其他情况。

这里讨论情况:由于密码错误导致的报错,输入密码错误或忘记密码情况;

拟完成的目标:通过重置密码,修改root用户密码;

测试环境:本地MySQL,MySQL_8.0

大致测试流程:


正式流程:

1. CMD命令行通过密码登录本地MySQL失败,这里考虑密码错误情况,或忘记密码情况

2. 停止本机MySQL服务,并跳过密码验证,这里为CMD窗口1

net stop mysql

mysqld --console --skip-grant-tables --shared-memory

3.保持上述窗口1,打开新的窗口2,进入mysql数据库(其user表存放登录信息)

mysql -uroot

use mysql

4. 进入mysql数据库,查找user表,查询主机,用户名,密码等信息,可以看到密码 authentication_string 列是加密的内容

select host,user,authentication_string from mysql.user;

5. 由于密码是加密存放的,这里更新user表,将新密码置为空,这种加密规则下,空内容加密也是为空,可以推出新密码即为空,再次查询user表信息

select host,user,authentication_string from mysql.user;

6. 通过Ctrl+C终止窗口1的跳过验证,并重启mysql服务

net start mysql

7. 然后可以打开使用任意的CMD窗口都行,直接无密码登录MySQL的root账号,密码为空

mysql -uroot

8. 通过命令修改root用户的密码即可,这里设置为 123456

alter user 'root'@'主机地址' identified by '新密码'

alter user 'root'@'localhost' identified by '123456'

9. 退出MySQL,尝试通过新的账号密码登录 MySQL

标签:登录,mysql,denied,Access,密码,user,MySQL,root
来源: https://www.cnblogs.com/zq-zq/p/16337533.html