Homebrew安装的MySQL连接失败,疑遭Anaconda干扰求助
MySQL连接ECONNREFUSED问题排查求助
之前一直用本地安装的MySQL处理关系型数据库需求,近几个月转做MongoDB项目,现在启动新的关系型数据项目时,用MySQL+Sequelize持续出现ECONNREFUSED错误,怀疑环境被搞乱了,整理相关信息如下:
环境信息
- 通过Homebrew安装MySQL,执行
brew search mysql可见5.7和8.0版本共存 - 当前使用Node.js 18.19.1、Sequelize 6.29.3
- 数月前为Python课程安装过Anaconda
已尝试操作及错误反馈
- 执行
brew uninstall完全卸载MySQL,运行brew doctor和brew cleanup后重装,问题依旧 brew services start mysql显示启动成功,但直接输入mysql命令报错:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
- 在Mac OS Sonoma 14.2.1中查找
my.cnf,仅在Anaconda安装目录下找到多个该文件,Homebrew安装的MySQL对应的配置文件无法定位(确认当前无Anaconda环境运行) - 尝试创建仅指定
/tmp/mysql.sock的my.cnf并放置在/etc/mysql,无效 - 即使Homebrew的MySQL服务显示运行,启动项目服务器仍报错:
ConnectionRefusedError [SequelizeConnectionRefusedError]: connect ECONNREFUSED 127.0.0.1:3306
- 启动一个未使用ORM的早期MySQL项目,同样出现连接失败问题
补充异常信息
执行mysql.server start时,服务器尝试调用Anaconda中的资源,启动失败,出现多个Anaconda路径下的“no such file or directory”错误
此前可正常运行的项目配置
connection.js
const Sequelize = require('sequelize'); require('dotenv').config(); let sequelize; sequelize = new Sequelize( process.env.DB_NAME, process.env.DB_USER, process.env.DB_PASSWORD, { host: '127.0.0.1', dialect: 'mysql', port: 3306 } ); module.exports = sequelize;
server.js
const path = require('path'); const express = require('express'); const session = require('express-session'); const SequelizeStore = require('connect-session-sequelize')(session.Store); const routes = require('./controllers'); const sequelize = require('./config/connection'); const helpers = require('./utils/helpers'); const app = express(); const PORT = process.env.PORT || 3001; const sess = { secret: process.env.SECRET, cookie: { maxAge: (1000 * 60 * 30), httpOnly: true }, rolling: true, resave: false, saveUninitialized: true, store: new SequelizeStore({ db: sequelize, }) }; app.use(session(sess)); app.use(express.json()); app.use(express.urlencoded({ extended: true })); app.use(express.static(path.join(__dirname, 'public'))); app.use(routes); sequelize.sync({ force: false }).then(() => { app.listen(PORT, () => console.log('Now listening')); });
内容的提问来源于stack exchange,提问作者lkalliance
相关产品推荐
相关产品推荐

