Windows MySQL 8.0 ERROR 1045 (28000) Access denied for user ‘root‘@‘localhost‘

2022/2/11 MySQLWindows

# 前言

# 环境

操作系统:Windows10/11 MySQL版本:MySQL 8.0.XX

# 问题描述

在MySQL 8.0登录中遇到ERROR 1045 (28000): Access denied for user 'root'@'localhost'的问题,或者是忘记root密码时的解决办法。

# 解决思路

  • 重装
  • 不重装,跳过MySQL密码认证

# 解决步骤

重装MySQL服务步骤不做赘述,请参考。 跳过MySQL密码验证步骤如下:

# 关闭MySQL服务

管理员身份运行cmd,并执行下面的指令关闭MySQL服务。

net stop mysql

# 跳过密码认证

进入MySQL服务,修改密码 cmd进入到MySQL安装目录下的bin目录,执行

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

# 进入服务

mysql -uroot -p

密码直接enter跳过即可

# 选择数据库

use mysql;

# 修改密码

因为8.0版本已经没有passwd函数了,所以得执行以下命令

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

第一个root是用户名,后面的localhost是本机访问,后面的password是自定义的密码

注意:如果在执行该步骤的时候出现ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement错误。则执行下flush privileges命令,再执行上述命令即可。

最近更新: 7 个月前