【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如果这篇文章对你有帮助欢迎点赞收藏有问题欢迎在评论区交流。

本月热点