MySQL 8.0+ 版本 1045 Access denied 错误解决方法

Miles
Miles
发布时间:2026-10-15| 4人浏览过
原创

在使用 MySQL 8.0 及以上版本时,经常会出现 1045 Access denied 的登录错误。本文详细讲解如何通过 CMD 命令行绕过权限验证并重置 root 账户密码,以及如何处理因新版本加密规则变更导致的客户端连接失败问题。

结果或目标

解决 Windows 环境下 MySQL 服务无法以 root 用户登录的问题,恢复正常操作。

准备条件

  • 拥有管理员权限的 Windows 操作系统。
  • 已安装 MySQL 服务(默认服务名为 mysql,具体视安装情况而定)。
  • 知道 MySQL 的安装路径,特别是 bin 目录所在位置。

真实操作顺序

第 1 步:以管理员身份打开命令提示符

由于涉及系统服务的启动与停止,必须使用管理员权限运行 CMD。在 Windows 搜索栏输入 cmd,右键选择“以管理员身份运行”。

第 2 步:导航至 MySQL 安装目录

在 CMD 中使用 cd 命令切换到 MySQL 的 bin 目录。例如:

cd C:\Program Files\MySQL\MySQL Server 8.0\bin

确保当前目录为可执行文件所在的文件夹。

第 3 步:停止 MySQL 服务

停止当前运行的 MySQL 服务,以便进行特殊模式的启动。可以键入以下命令:

net stop mysql

或者在 Windows 服务管理界面中找到 MySQL 服务并手动停止。

第 4 步:以免授权表模式启动 MySQL

再次在当前 CMD 窗口中输入以下指令并按回车:

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

此时,该窗口可能会输出日志信息并阻塞,无法进行后续输入,这是正常现象。**切勿关闭此窗口**。

第 5 步:重新打开一个管理员 CMD 窗口

保持上一个窗口不变,打开一个新的管理员 CMD 窗口。因为前面的窗口已经被占用,我们需要另一个终端来执行修改操作。

第 6 步:无密码登录数据库

在新开的 CMD 窗口中,直接输入 mysql 并回车,即可免密进入数据库界面。

mysql -u root

如果能成功显示 mysql> 提示符,说明连接成功。

第 7 步:刷新权限表

由于我们跳过了权限表,首先需要显式刷新权限,否则后续的修改可能无法立即生效。请输入:

FLUSH PRIVILEGES;

第 8 步:重置 root 密码

注意: MySQL 8.0+ 的密码字段存储位置发生了变化,且不能直接使用旧版本的 AUTHENTICATION_STRING 进行修改,通常需要配合 ALTER USER 语法。这里演示将密码设置为空(仅用于恢复访问,建议随后设为复杂密码):

UPDATE mysql.user SET authentication_string='' WHERE user='root' and host='localhost';

或者更标准的做法是直接设置新密码:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword123!';

第 9 步:再次刷新权限并退出

修改完成后,务必再次刷新权限以确保更改写入内存:

FLUSH PRIVILEGES;

然后退出数据库:

exit

完成判断

第 10 步:重启 MySQL 服务

回到最开始的第一个阻塞 CMD 窗口,不要关闭它,而是打开第三个新的管理员 CMD 窗口来管理服务。执行:

net start mysql

如果看到 MySQL 服务已成功启动 的提示,则表明服务已恢复正常模式。

第 11 步:验证登录

使用新设的密码尝试正常登录:

mysql -u root -p

原文有依据的排错

如果在恢复密码后,使用 Navicat 或其他第三方工具连接时报错 Error 2059 (Authentication plugin cannot be loaded),这是因为 MySQL 8.0 默认使用了 caching_sha2_password 插件,而某些旧版客户端不支持。需要切换回旧版的认证方式:

在 MySQL 命令行中执行:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';
FLUSH PRIVILEGES;

以上就是 MySQL 8.0+ 版本 1045 错误及关联问题的详细内容,更多关于 MySQL 报错处理及运维优化的资料请关注本站其它相关文章!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。