1. 问题现象与初步排查
当你使用Navicat连接本地MySQL数据库时,突然弹出一个错误提示:"Can't connect to server on 'localhost' (10061)",这种情况通常意味着客户端工具无法与MySQL服务建立通信连接。作为一名长期与数据库打交道的开发者,我遇到过太多次这类问题,今天就来系统梳理解决方案。
首先需要明确的是,错误代码10061属于Windows系统的WSAECONNREFUSED错误,直译为"连接被拒绝"。在MySQL场景下,这通常表明以下三种情况之一:
- MySQL服务根本没有运行
- 服务虽然运行但监听端口被防火墙拦截
- MySQL配置绑定了非本地地址
重要提示:先别急着重装MySQL!90%的情况下这个问题都能通过简单调整解决。我曾经因为一时冲动重装,结果导致数据丢失的惨痛教训。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 基础排查流程
2.1 检查服务运行状态
按照Windows系统管理的最佳实践,我们应该首先确认MySQL服务的运行状态:
- 按下
Win + R输入services.msc打开服务管理器 - 在服务列表中找到MySQL服务(可能显示为"MySQL80"、"MySQL57"等版本相关名称)
- 观察服务状态:
- 如果显示"正在运行":尝试右键选择"重新启动"
- 如果显示"已停止":点击"启动"按钮
- 如果根本找不到MySQL服务:说明服务未安装(继续看第3节)
2.2 验证端口监听情况
即使服务显示运行中,也可能存在端口监听问题。打开命令提示符执行:
bash复制netstat -ano | findstr 3306
正常应该看到类似这样的输出:
code复制TCP 0.0.0.0:3306 0.0.0.0:0 LISTENING 1234
TCP [::]:3306 [::]:0 LISTENING 1234
如果没有输出,说明MySQL没有监听默认端口(可能被修改或服务异常)。
3. 服务未安装的解决方案
当在服务列表中完全找不到MySQL时,说明需要手动注册
