使用Mikro-ORM执行mysql迁移时报3306端口连接被拒绝错误如何解决
Mikro-ORM 连接MySQL ECONNREFUSED 错误解决方案
错误根因
返回ECONNREFUSED 127.0.0.1:3306错误的核心原因是Mikro-ORM无法和本地3306端口的MySQL服务建立连接,可按照以下步骤逐一排查:
排查步骤
1. 确认MySQL服务正常运行
- Windows:打开服务管理器,找到对应MySQL服务,确认状态为「正在运行」,未启动则右键手动启动
- macOS:brew安装的MySQL可执行
sudo brew services start mysql启动,也可在系统偏好设置中找到MySQL入口点击启动 - Linux:Debian/Ubuntu系执行
sudo systemctl start mysql,CentOS/RHEL系执行sudo systemctl start mysqld启动服务
2. 确认MySQL监听端口匹配
- MySQL默认监听端口为3306,如果你手动修改过端口,需要在Mikro-ORM配置中新增
port: 你的实际MySQL端口字段 - 可执行命令验证端口监听状态:
- Windows:
netstat -ano | findstr 3306 - macOS/Linux:
netstat -anp | grep 3306
无输出则说明MySQL没有监听3306端口,需要修正MySQL配置
- Windows:
3. 确认Mikro-ORM连接配置完整
不要直接沿用PostgreSQL教程的连接参数,需确保配置文件包含以下MySQL必填配置:
export default { type: 'mysql', host: '127.0.0.1', // 若MySQL部署在远程服务器,修改为对应IP地址 port: 3306, // 和MySQL实际监听端口保持一致 user: 'MySQL用户名', // 本地默认一般为root password: 'MySQL密码', // 未设置密码可留空字符串 dbName: '你提前创建的数据库名称', // 其他业务配置 }
4. 确认MySQL允许本地TCP连接
部分默认安装的MySQL会关闭TCP连接仅支持Socket连接,需要修改MySQL配置文件(my.cnf/my.ini)中的bind-address参数为127.0.0.1,修改后重启MySQL服务生效。
验证
所有配置修正完成后,重新执行npx mikro-orm migration:create即可正常创建迁移文件。
内容的提问来源于stack exchange,提问作者Morgade
相关产品推荐
相关产品推荐

