【MySQL 排错】Navicat 连接 localhost 报 2002 (10061) 完整排查记录(Windows + MySQL 8.4 用户模式)
摘要本文记录 Windows 下 ZIP 方式安装 MySQL 8.4.10 后使用 Navicat 连接localhost时出现2002 - Cant connect to server on localhost (10061)的完整排错过程。从现象、原理、排查命令到根因与解决方案一并整理并补充安装阶段的常见坑方便同类问题一次定位。关键词MySQL 8.4、Navicat、2002、10061、Windows、连接被拒绝、用户模式启动一、问题现象本地已安装 MySQL 8.4.10Navicat 中配置了连接info_system_demo双击连接时报错2002 - Cant connect to server on localhost (10061)Navicat 界面左侧能看到连接配置但无法打开数据库查询、表设计等功能全部不可用。直观理解客户端Navicat去敲本机 3306 端口的门但门后没有人应答——不是密码错而是MySQL 服务根本没在跑。二、错误码含义先搞清再动手错误常见含义本次是否命中2002无法连接到 MySQL 服务器是10061Windows 套接字错误连接被拒绝Connection refused是1045用户名或密码错误否2003无法解析主机名否10061 与 1045 的区别很重要10061TCP 连上了目标端口但没有任何进程在监听 → 先查MySQL 是否启动。1045能连上服务器但认证失败 → 查账号密码。很多人一看到 Navicat 报错就去改密码本次问题改密码无效因为服务器进程不存在。三、环境与安装背景为何容易踩坑本次 MySQL 采用ZIP 绿色安装未使用官方 MSI 安装向导也未注册 Windows 服务。原因如下使用cdn.mysql.com下载mysql-8.4.10-winx64.zip解压到D:\WorkSoftware\MySQL\。编写my.ini执行mysqld --initialize-insecure初始化数据目录。尝试mysqld --install注册服务时提示Install/Remove of the Service Denied当前 PowerShell 无管理员权限。改为用户模式通过start-mysql.ps1启动mysqld.exe进程。因此开机后 MySQL 不会自动启动没有「服务」可在「服务管理器」里一键启动Navicat 配置再正确不先启动 mysqld 就必然 10061。四、排错过程按推荐顺序4.1 第一步确认 mysqld 进程是否存在PowerShell 执行Get-Process-Namemysqld-ErrorAction SilentlyContinue本次结果无输出 → 没有任何 MySQL 进程在运行与 Navicat 报错一致。4.2 第二步确认 3306 端口是否在监听netstat-ano|findstr:3306本次结果无LISTENING行 → 本机 3306 端口空闲进一步确认 MySQL 未启动。若能看到0.0.0.0:3306 ... LISTENING说明服务已在跑应转向检查主机名、防火墙或 Navicat 连接类型是否选错如误选 PostgreSQL。4.3 第三步命令行能否连接mysql-u root-proot-eSHOW DATABASES;报错前同样连不上10061 或类似提示。启动 MySQL 后能列出info_system_demo等库说明服务端与账号均正常问题锁定在进程未启动。4.4 第四步启动 MySQL用户模式D:\WorkSoftware\MySQL\start-mysql.ps1脚本核心逻辑若尚无mysqld进程则后台启动Start-Process-FilePath$mysqlHome\bin\mysqld.exe-ArgumentList--defaults-fileD:/WorkSoftware/MySQL/my.ini-WindowStyle Hidden启动后再次检查Get-Process-Namemysqldnetstat-ano|findstr:3306mysql-u root-proot-eSHOW DATABASES;本次结果出现mysqld进程0.0.0.0:3306 ... LISTENING能正常SHOW DATABASES。回到 Navicat重新连接问题解决。4.5 排错流程图Navicat 报 2002/10061 │ ▼ mysqld 进程存在 ──否──► 启动 MySQL脚本 / 服务 / 手动 mysqld │是 ▼ 3306 在 LISTENING ──否──► 查 my.ini 端口、是否被占用 │是 ▼ mysql 命令行能连 ──否──► 查账号、bind-address、防火墙 │是 ▼ 检查 Navicat主机/端口/连接类型(MySQL)五、Navicat 正确连接配置配置项推荐值连接类型MySQL勿选 PostgreSQL / MongoDB主机localhost或127.0.0.1端口3306用户名root密码安装时设置的密码本文示例为root数据库info_system_demo可选连接后再选库也行连接前务必先执行D:\WorkSoftware\MySQL\start-mysql.ps1六、安装阶段踩过的坑顺带记录排错过程中安装环节还遇到过以下问题一并写入便于检索。6.1Failed to open required defaults file现象mysqld: [ERROR] Failed to open required defaults file: D:\WorkSoftware\MySQL\my.ini原因路径写法或文件尚未就绪MySQL 在 Windows 上对my.ini路径较敏感。处理统一使用正斜杠路径例如[mysqld] basedirD:/WorkSoftware/MySQL/mysql-8.4.10-winx64 datadirD:/WorkSoftware/MySQL/data port3306命令行指定mysqld--defaults-fileD:/WorkSoftware/MySQL/my.ini--initialize-insecure6.2 注册 Windows 服务被拒绝现象Install/Remove of the Service Denied!原因非管理员 PowerShell。处理方案 A本次采用用户模式 start-mysql.ps1手动启动方案 B管理员 PowerShell 执行D:\WorkSoftware\MySQL\mysql-8.4.10-winx64\bin\mysqld.exe --install MySQL84--defaults-fileD:/WorkSoftware/MySQL/my.ini netstartMySQL84注册服务后可开机自启Navicat 连接更省心。6.3 导入 SQL 中文乱码 / 字段过长现象ERROR 1406: Data too long for column dept_name原因source或管道导入时客户端字符集非 UTF-8中文被错误编码。处理Get-ContentV1__init.sql-Encoding UTF8|mysql-u root-proot--default-character-setutf8mb4my.ini中建议character-set-serverutf8mb4 collation-serverutf8mb4_unicode_ci6.4 MySQL 8.4 配置项变更MySQL 8.4 已移除default_authentication_plugin写在my.ini里可能导致初始化异常需删除该行。七、日常运维命令速查# 启动D:\WorkSoftware\MySQL\start-mysql.ps1# 停止D:\WorkSoftware\MySQL\stop-mysql.ps1# 版本mysql--version# 连接mysql-u root-proot# 查看是否在监听netstat-ano|findstr:3306目录结构参考D:\WorkSoftware\MySQL\ ├── mysql-8.4.10-winx64\ # 程序目录 ├── data\ # 数据目录 ├── my.ini # 配置文件 ├── start-mysql.ps1 ├── stop-mysql.ps1 └── README.md八、经验总结Navicat 2002 10061优先查 MySQL 有没有启动不要先改密码。ZIP 安装 未注册服务 每次重启电脑后要手动启动或注册 Windows 服务。排查三板斧Get-Process mysqld→netstat :3306→mysql -u root -p。Windows 下my.ini路径推荐正斜杠导入含中文的 SQL 指定utf8mb4。与 Spring Boot 联调时保证application.yml中端口、账号与 Navicat 一致即可。九、后记本次问题从 Navicat 一条报错出发根因却是安装方式带来的「非常驻服务」——配置没有错只是数据库还没「上班」。这类问题在本地开发、面试练手环境中很常见把「进程 → 端口 → 客户端」这条链路走通以后遇到 DataGrip、DBeaver、命令行连接失败都可以用同一套思路快速定位。若你希望 MySQL 像商业安装包一样开机自启建议在管理员 PowerShell中注册MySQL84服务若保持绿色便携则养成开 Navicat 前先跑start-mysql.ps1的习惯即可。参考MySQL 8.4 官方文档Install MySQL on Windows本地练手项目info-system-demoSpring Boot MyBatis MySQL如果这篇文章对你有帮助欢迎点赞收藏有问题欢迎在评论区交流。

相关新闻

谁还在硬啃组态屏?我直接喂饭

谁还在硬啃组态屏?我直接喂饭

玩组态屏这事吧,说难不难,说简单也真有不少坑。刚入坑那会儿我也是一路踩着雷过来的,今天把几个核心知识点捋一捋,给刚上手的兄弟们省点弯路。先聊选型。很多人上来就盯着尺寸看,7寸还是10寸,其实比尺寸更重…

2026/10/13 13:54:35 阅读更多 →
C语言学习(跟b站鹏哥)

C语言学习(跟b站鹏哥)

下面开始C语言的学习,总结鹏哥C语言重点方便快速回顾复习。适用人员(小白学习c语言,考研408学习C语言,z站学习鹏哥c语言)第二课由C语言编写的为.c文件,需要先进行编译,然后进行链接成为可执行文…

2026/9/28 5:04:52 阅读更多 →
程序员高效驾驭大模型的AI导演工作流

程序员高效驾驭大模型的AI导演工作流

1. 项目概述:程序员如何高效驾驭大模型三年前我第一次接触GPT-3时,花了整整8小时才让模型输出符合需求的代码片段。如今通过系统化的方法沉淀,同样的任务只需30分钟就能完成质量更高的交付。这个转变过程让我意识到:掌握大模型就像…

2026/10/11 9:18:17 阅读更多 →

最新新闻

Nucleus for 2410:本地推理模型管理与资源调度实战

Nucleus for 2410:本地推理模型管理与资源调度实战

简介:Nucleus for 2410 是一份面向嵌入式开发者的实时操作系统移植资源包,目标平台为三星 S3C2410(ARM920T 内核)微处理器。Nucleus 以高效、小巧、可定制著称,该资源围绕其在 S3C2410 上的移植与应用展开,…

2026/10/13 13:53:39 阅读更多 →
Redis hash底层原理与实战避坑:从ziplist到大key全解析

Redis hash底层原理与实战避坑:从ziplist到大key全解析

做后端开发这些年,Redis几乎成了缓存层的默认标配,而hash这种数据类型,只要是写过几年代码的人,基本都能说上几句。可我真面试候选人的时候发现,很多人对hash的理解停留在“能存对象”这个层级,最多知道HSE…

2026/10/13 13:53:39 阅读更多 →
子网掩码本质是二进制过滤器:从门牌号管理学理解IP通信逻辑

子网掩码本质是二进制过滤器:从门牌号管理学理解IP通信逻辑

1. 这不是背概念的考试,而是网络世界的“门牌号管理学”你有没有想过,为什么办公室里几十台电脑能同时上网却不互相干扰?为什么手机连上家里Wi-Fi能刷视频,但换到隔壁咖啡馆就自动切到另一套地址体系?为什么面试官一开…

2026/10/13 13:53:39 阅读更多 →
Sqoop全指南:从安装配置到性能优化与增量同步实战

Sqoop全指南:从安装配置到性能优化与增量同步实战

1. 先搞清楚Sqoop到底是个什么东西外面有很多讲Sqoop的文章,但八成都是把官方文档抄一遍,连「为什么要这么配」「报错了去哪里查」都讲不清楚。我这边直接跳过教科书,用几个实际生产场景带你把它吃透。1.1 一句话定性和需求场景拆解Sqoop全称…

2026/10/13 13:53:39 阅读更多 →
Qt迷宫及路径获取:递归回溯生成、A*寻路与QGraphicsView实践

Qt迷宫及路径获取:递归回溯生成、A*寻路与QGraphicsView实践

简介:基于Qt框架的随机迷宫生成与最短路径获取项目源码,适合正在学习图形界面开发、并查集数据结构以及启发式搜索算法的开发者阅读。项目演示了从二维数组迷宫建模、深度优先搜索随机生成连通迷宫,到借助并查集快速维护格子连通关系&#xf…

2026/10/13 13:53:39 阅读更多 →
Waiting for table metadata lock原因与解决

Waiting for table metadata lock原因与解决

MySQL出现Waiting for table metadata lock的原因以及解决方法(已亲测) 如果你管过线上MySQL,大概率见过这个让人血压升高的状态: Waiting for table metadata lock 。业务方在群里问"接口怎么突然超时了",你上服务器执行 show …

2026/10/13 13:52:38 阅读更多 →

日新闻

物联网系统集成避坑指南:从选型到验收的关键要点

物联网系统集成避坑指南:从选型到验收的关键要点

做了这么多年物联网系统集成的项目,我最大的感受是,大部分坑不是出在技术前沿,而是出在一些看起来很平常的地方。设备选了便宜的、协议没问清楚、现场没摸透、验收标准写得含糊——这些细枝末节,最后都会变成延期、超支和扯皮的大…

2026/10/13 0:00:57 阅读更多 →
ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

如果你玩ESP32有一阵子了,很难不碰到舵机控制这道坎。做智能小车要转方向,做机械臂要抬关节,做云台要偏航俯仰,背后都是同一个东西在干活:舵机。而我见过太多人卡在“代码能编译、舵机就是不听话”这个阶段&#xff0c…

2026/10/13 0:00:57 阅读更多 →
CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

1. 为什么CAN总线至今仍是工业现场的“硬通货”?——从汽车底盘到智能温室的真实需求你有没有拆过一辆老款燃油车的中控台?或者调试过某高校实验室里那台跑着Modbus协议却频频丢帧的PLC控制柜?又或者,在某个农业物联网项目里&…

2026/10/13 0:00:57 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/13 2:54:56 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/12 0:16:38 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 21:05:09 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 14:48:49 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →