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

问题


ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: YES)

原因

  • 输入的密码的错误
  • 在安装数据库时,有一个设置密码的步骤,在安装时没有注意导致后期忘记密码

解决方案

使用mysql安全模式(跳过权限表)

  • 打开命令提示符(以管理员身份运行),输入以下命令停止MySQL服务:
    net stop mysql
    
  • 使用--skip-grant-tables选项启动MySQL,跳过权限表验证:
    net stop mysql
    
  • 重新打开一个命令提示符窗口,不关闭之前的窗口,输入以下命令连接MySQL:
    mysqld --skip-grant-tables
    
  • 进入MySQL后,执行以下命令更改root用户密码:
    FLUSH PRIVILEGES;
    ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
    
  • 关闭所有命令提示符窗口,然后重新启动MySQL服务:
    net stop mysql
    net start mysql
    
  • 用新密码重新连接MySQL,确认问题已解决:
    mysql -u root -p