解决 Windows 下 MySQL 8.X 1130 报错问题
问题分析与解决方法
问题背景
在 Windows 系统中操作 MySQL 8.4.8 时,连续遇到三个核心报错,从本地连接被拒到服务无法启动,再到改密码失败,核心均为 MySQL 数据目录配置、系统权限、服务启动模式相关问题。本文完整复盘问题原因、分步解决方法、避坑要点,适配 MySQL 8.x 全版本 Windows 环境。
Windows 系统下 MySQL 8.x 常遇 1130 主机拒绝连接、2003 服务无法启动及 1290 跳过权限验证模式限制密码修改等连锁报错。核心原因涉及数据目录路径错误、系统权限不足及启动模式不匹配。解决方案包括以管理员身份运行 CMD,备份并重置数据目录至 ProgramData,使用--initialize-insecure 初始化,通过--skip-grant-tables 临时启动服务,登录 MySQL 执行 FLUSH PRIVILEGES 后修改 root 密码,最后注册并启动系统服务。全程需注意管理员权限、路径指定及权限刷新顺序,避免常见踩坑点如命令未识别或权限拒绝访问。
在 Windows 系统中操作 MySQL 8.4.8 时,连续遇到三个核心报错,从本地连接被拒到服务无法启动,再到改密码失败,核心均为 MySQL 数据目录配置、系统权限、服务启动模式相关问题。本文完整复盘问题原因、分步解决方法、避坑要点,适配 MySQL 8.x 全版本 Windows 环境。
[HY000][1130] Host 'localhost' is not allowed to connect to this MySQL server:本地主机无 MySQL 访问权限
ERROR 2003(HY000): Can't connect to MySQL server on 'localhost:3306' (10061):无法连接 MySQL 服务,端口未监听
ERROR 1290(HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement:跳过权限验证模式下无法直接修改密码
C:\ProgramData\MySQL\MySQL Server 8.4\Data,手动启动时未指定正确路径,导致服务找不到存储目录而启动失败。C:\Program Files 是 Windows 系统目录,默认权限严格,MySQL 进程无读写权限,无法在该目录创建 / 使用数据目录,进而触发服务启动失败。1130 权限问题采用 --skip-grant-tables 跳过权限验证模式启动,但该模式下 MySQL 禁止直接执行改密码 / 权限修改命令,直接操作触发 1290 报错。CMD,右键「以管理员身份运行」,所有命令均在此窗口执行,避免权限不足;C:\Program Files\MySQL\MySQL Server 8.4C:\ProgramData\MySQL\MySQL Server 8.4\Data (ProgramData 为隐藏文件夹,文件资源管理器→「查看」→勾选「隐藏的项目」即可看到)。bin 文件夹下,先切换目录,否则会提示「不是内部或外部命令」cd C:\Program Files\MySQL\MySQL Server 8.4\bin
C:\Program Files\MySQL\MySQL Server 8.4\bin> 即切换成功。ren "C:\ProgramData\MySQL\MySQL Server 8.4\Data" "Data_bak"C:\ProgramData\MySQL\MySQL Server 8.4\Data_bak(备份后的目录)ProgramData 下创建数据目录:mysqld --initialize-insecure --console --basedir="C:\Program Files\MySQL\MySQL Server 8.4" --datadir="C:\ProgramData\MySQL\MySQL Server 8.4\Data"
MySQL Server - end.,且 C:\ProgramData\MySQL\MySQL Server 8.4\ 下自动生成 Data 文件夹。mysqld --console --skip-grant-tables --shared-memory --basedir="C:\Program Files\MySQL\MySQL Server 8.4" --datadir="C:\ProgramData\MySQL\MySQL Server 8.4\Data"
注意更改个人目录
ready for connections 相关提示,窗口无新输出、卡住不动,说明 MySQL 临时进程正常运行。mysql -u root
mysql> 提示符,执行以下命令先刷新权限,再改密码(解决 1290 报错的关键):-- 1. 刷新权限表,解除 skip-grant-tables 模式的操作限制
FLUSH PRIVILEGES;
-- 2. 切换到 MySQL 权限管理核心库
USE mysql;
-- 3. 修改 root@localhost 的密码(示例设为 1234,可自定义)
ALTER USER 'root'@'localhost' IDENTIFIED BY '1234';
-- 4. 再次刷新权限,让密码配置立即生效
FLUSH PRIVILEGES;
-- 5. 退出 MySQL 命令行
EXIT;
Query OK, 0 rows affected,无任何报错。Ctrl+C,输入 Y 回车,停止临时 MySQL 进程;MySQL84,方便识别):# 注册 MySQL84 系统服务
mysqld --install MySQL84
# 启动 MySQL84 服务
net start MySQL84
mysql -u root -p
mysql>,说明:服务正常启动 + 3306 端口连通 + localhost 权限正常 + 密码配置生效。C:\Program Files(系统严格权限目录),官方默认数据目录在 C:\ProgramData,手动启动 / 初始化时必须通过 --basedir 和 --datadir 指定正确路径,否则必报数据目录错误。FLUSH PRIVILEGES
该模式下 MySQL 会禁止所有权限 / 用户修改操作,直接执行 ALTER USER 会触发 1290 报错,刷新权限是前置必做步骤。Ctrl+C 停止。mysqld 临时启动的 MySQL,重启电脑后会失效,注册系统服务后,可通过 net start/stop MySQL84 永久管理服务,后续无需重复初始化。ProgramData 文件夹。mysqld 命令提示「不是内部或外部命令」
→ 未切换到 MySQL 的 bin 目录,重新执行 cd C:\Program Files\MySQL\MySQL Server 8.4\bin 切换目录后再操作。「Can't create test file / 拒绝访问」
→ 要么是未用管理员 CMD,要么是数据目录路径错误,关闭所有 CMD,以管理员重启,且严格按默认路径指定 basedir 和 datadir。sc delete MySQL84 mysqld --install MySQL84C:\ProgramData\MySQL\MySQL Server 8.4\Data 文件夹赋权:
右键 Data 文件夹→属性→安全→编辑→添加→输入 Everyone→确定→给 Everyone 勾选完全控制→应用→确定,再执行 net start MySQL84。10061 错误
→ MySQL 服务未启动,执行 net start MySQL84 启动服务,若启动失败,按坑 4 解决权限问题。Unknown user 'root'@'localhost'」
→ 初始化时未用 --initialize-insecure,导致无 root 用户,重新执行步骤 2 的免密初始化命令,再重新操作。注册服务后,可通过以下命令永久管理 MySQL,无需再执行复杂的 mysqld 命令:
net start MySQL84net stop MySQL84mysql -u root -psc delete MySQL84本次 Windows 下 MySQL 8.4.8 的系列报错,本质是对 MySQL 8.x 路径配置和 Windows 权限机制不熟悉导致的连锁问题,核心解决逻辑为:补全数据目录→解决权限问题→临时启动配权限→注册服务实现正常运行。
MySQL 8.x 在 Windows 下的操作核心要点:路径要正确、权限要足够、启动模式要匹配操作,只要严格按本文步骤执行,避开常见坑点,就能彻底解决 1130、10061、1290 三大核心报错,实现 MySQL 的正常使用。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
在线格式化和美化您的 SQL 查询(它支持各种 SQL 方言)。 在线工具,SQL 美化和格式化在线工具,online
解析 INSERT 等受限 SQL,导出为 CSV、JSON、XML、YAML、HTML 表格(见页内语法说明)。 在线工具,SQL转CSV/JSON/XML在线工具,online
CSV 与 JSON/XML/HTML/TSV/SQL 等互转,单页多 Tab。 在线工具,CSV 工具包在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online