C:\Users\Lenovo>mysql -u root ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost:3306' (10061)
时间: 2025-07-19 17:17:19 浏览: 11
你遇到的错误信息:
```
ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost:3306' (10061)
```
表示你的 MySQL 服务没有运行,或者端口未监听。
---
## 🔍 错误原因分析
- **10061** 是 Windows 套接字错误码,表示连接被拒绝。
- 这通常意味着:
- MySQL 服务未启动;
- MySQL 正在使用不同的端口;
- 防火墙阻止了连接;
- MySQL 没有监听 `localhost`(或配置文件中绑定了其他地址);
- MySQL 安装异常或未正确安装。
---
## ✅ 解决方案
### 方法一:检查并启动 MySQL 服务
#### 1. 打开“服务”管理器
- 按下 `Win + R`,输入 `services.msc` 回车;
- 在服务列表中查找 MySQL 相关的服务,例如:
- `MySQL80`
- `MySQL`
- `MariaDB`
- 如果找到,右键选择“启动”。
#### 2. 使用命令行启动 MySQL 服务(替换为实际服务名)
```cmd
net start MySQL80
```
如果提示服务名无效,请参考之前的方法查找正确的服务名。
---
### 方法二:手动启动 MySQL(非服务方式)
如果你没有将 MySQL 注册为服务,可以进入 `bin` 目录手动启动:
```cmd
cd "C:\Program Files\MySQL\MySQL Server 8.0\bin"
mysqld --console
```
> 注意:路径根据你实际安装位置调整。
> 如果出现报错,比如找不到 data 目录,可能需要初始化数据库:
```cmd
mysqld --initialize-insecure
```
然后再次尝试启动。
---
### 方法三:查看 MySQL 是否在监听端口
使用以下命令查看是否有 MySQL 监听本地端口:
```cmd
netstat -ano | findstr :3306
```
如果没有输出,说明 MySQL 没有正常运行。
---
### 方法四:检查防火墙设置
确保防火墙允许通过 3306 端口:
1. 打开“控制面板” → “系统和安全” → “Windows Defender 防火墙”;
2. 点击“高级设置”;
3. 在“入站规则”中添加允许 TCP 端口 3306 的规则。
---
### 方法五:确认 MySQL 配置文件
打开 `my.ini` 或 `my.cnf` 文件,检查是否设置了绑定地址:
```ini
[mysqld]
bind-address = 127.0.0.1
port = 3306
```
如果绑定的是其他 IP(如 `0.0.0.0` 或内网IP),也可能导致 `localhost` 连接失败。
---
## 🛠️ 总结流程
| 步骤 | 操作 |
|------|------|
| 1 | 查看 MySQL 是否作为服务运行 |
| 2 | 尝试手动启动 `mysqld` |
| 3 | 检查端口是否监听 |
| 4 | 查看防火墙设置 |
| 5 | 核对配置文件中的 bind 地址 |
---
阅读全文
相关推荐


















