解决 Windows 下 MySQL 8.X 1130 报错问题
问题分析与解决方法
问题背景
在 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:跳过权限验证模式下无法直接修改密码
问题根源总复盘
- 本次所有报错均为连锁问题,核心根源集中在 3 点,也是 Windows 下 MySQL 安装 / 启动的高频坑点:
- 数据目录缺失 + 路径错误:MySQL 8.x 官方默认数据目录并非安装目录下的 data,而是隐藏目录
C:\ProgramData\MySQL\MySQL Server 8.4\Data,手动启动时未指定正确路径,导致服务找不到存储目录而启动失败。 - 系统权限不足:
C:\Program Files是 Windows 系统目录,默认权限严格,MySQL 进程无读写权限,无法在该目录创建 / 使用数据目录,进而触发服务启动失败。 - 启动模式与操作不匹配:为解决
1130权限问题采用--skip-grant-tables跳过权限验证模式启动,但该模式下 MySQL 禁止直接执行改密码 / 权限修改命令,直接操作触发1290报错。 - 未正确注册 / 启动 MySQL 服务:首次初始化后未注册系统服务,导致无法通过 net start 正常启动,始终依赖临时启动命令,易出现各种连接问题。
- 数据目录缺失 + 路径错误:MySQL 8.x 官方默认数据目录并非安装目录下的 data,而是隐藏目录
分步完整解决方法(全程管理员 CMD 执行)
- 注意全程管理员 CMD 操作
前置准备
- 关闭所有 MySQL 相关进程:打开任务管理器,结束 mysqld.exe 进程(若有);
- 以管理员身份打开 CMD:桌面搜索
CMD,右键「以管理员身份运行」,所有命令均在此窗口执行,避免权限不足; - 确认 MySQL 路径:记好两个核心路径(8.4.8 默认,若修改过安装路径请对应替换)
- 安装目录(basedir):
C:\Program Files\MySQL\MySQL Server 8.4 - 数据目录(datadir):
C:\ProgramData\MySQL\MySQL Server 8.4\Data(ProgramData 为隐藏文件夹,文件资源管理器→「查看」→勾选「隐藏的项目」即可看到)。
- 安装目录(basedir):

