将 Sequelize/Node 连接到 XAMPP Mysql

Connect Sequelize/Node to XAMPP Mysql

我有一个工作脚本可以在 Node.js 上连接和使用 Sequelize 但现在我正在尝试将其连接到 XAMPP

上的 MySQL 数据库

MySQL Port on XAMPP: 3306

当我 运行 node.js 配置好 app.listen 和 sequealize 的配置后,我得到以下错误

ERROR: listen EADDRINUSE :::3306

我找过,但没有找到太多相关信息,我不知道我做错了什么。 谢谢你的每一个回答!

app.js

const express = require('express')
const bodyParser = require('body-parser')
const cors = require('cors')
const morgan = require('morgan')
const { sequelize } = require('./models')
const config = require('./config/config')

const app = express()
app.use(morgan('combined'))
app.use(bodyParser.json())
app.use(cors())

require('./routes')(app)

sequelize.sync()
  .then(() => {
    app.listen(config.db.options.port || 3306) // 8081 original
    console.log(`Server iniciado en puerto: ${config.db.options.port}`)
  })

config.js

module.exports = {
  db: {
    database: process.env.DB_NAME || 'intraenvios',
    user: process.env.DB_USER || 'root',
    password: process.env.DB_PASS || '',
    options: {
      dialect: process.env.DIALECT || 'mysql', // sqlite original
      host: process.env.HOST || 'localhost',
      storage: './intraenvios.sqlite',
      port: process.env.PORT || 3306 // 8081 original
    }
  }
}

编辑:

为了简单地通过 xampp 连接,我做了这个:

const sequelize = new Sequelize('test', 'root', '', {
  host: "127.0.0.1",
  dialect : 'mysql',
  operatorsAliases: false
});

sequelize.authenticate().then(function(){
      console.log("sucess");
    }).catch(function(error){
      console.log("error: "+error);
});

Obs: operatorsAliases: false - 修复已弃用的 sequelize 消息

很好玩 :)