1. 数据库连接报错深度解析
当你在DataGrip中尝试连接本地MySQL数据库时遇到"Connection refused to host: 127.0.0.1"错误,这实际上是典型的网络层连接拒绝问题。错误堆栈中显示的关键信息是"java.net.ConnectException: Connection timed out: connect",这表明客户端根本无法建立到目标端口的TCP连接。
这个错误表面看是连接超时,但本质上意味着:
- MySQL服务未在127.0.0.1监听
- 防火墙/安全软件拦截了连接
- MySQL配置绑定了非127.0.0.1的地址
- 本地hosts文件存在异常解析
重要提示:不要一遇到连接问题就立即关闭防火墙!这应该是最后的手段。更专业的做法是先进行系统化排查。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 系统化排查流程
2.1 验证MySQL服务状态
首先确认MySQL服务是否正常运行:
bash复制# Windows系统
net start | findstr "MySQL"
# Linux/macOS系统
sudo systemctl status mysql
如果服务未运行,需要先启动服务:
bash复制# Windows
net start mysql80
# Linux/macOS
sudo systemctl start mysql
2.2 检查监听端口
MySQL默认监听3306端口,验证是否正常监听:
bash复制# Windows
netstat -ano | findstr 3306
# Linux/macOS
sudo netstat -tulnp | grep mysql
正常应该看到类似输出:
code复制TCP 127.0.0.1:3306 0.0.0.0:0 LISTENING 1234
2.3 验证连接参数
在DataGrip中检查连接配置:
- 主机名:确保是127.0.0.1或localhost
- 端口:默认3306(除非修改过)
- 用户名/密码:具有连接权限的凭据
2.4 测试基础连接
使用命令行工具测试基础连接性:
bash复制mysql -h 12
