gpt4 book ai didi

mysql - SequelizeConnectionRefusedError JSON MySQL

转载 作者:行者123 更新时间:2023-12-01 16:22:20 34 4
gpt4 key购买 nike

嘿,我正在尝试在我的 REST 服务器上有一个/create 函数。我在 C9.io 工作

var express = require("express")
var bodyParser = require("body-parser")
var cors = require("cors")
var Sequelize = require("sequelize")
var util = require("util")

var app = express()
app.use(bodyParser.json())
app.use(cors())

var sequelize = new Sequelize('authordb','root','',{
dialect : 'mysql',
port : 3305
})

var Author = sequelize.define('author',{
name : Sequelize.STRING,
email : {
type : Sequelize.STRING,
validate : {
isEmail : true
}
}
})

var Message = sequelize.define('message',{
subject : Sequelize.STRING,
content : Sequelize.STRING
})

Author.hasMany(Message, {onDelete : 'cascade'})
Message.belongsTo(Author)

app.get('/create', function(req,res){
sequelize.sync()
.complete(function(err){
if (err){
console.log(err)
}
else{
res.status(201).send('created all')
}
})
})

app.post('/authors',function(req,res){
var author = req.body
Author.create(author)
.complete(function(err){
if (err){
console.log(err)
}
else{
res.status(201).send('created author')
}
})
})

app.get('/authors/:id',function(req,res){
Author.find({
where : {
id : req.params.id
},
attributes : ['id','name','email']
})
.complete(function(err,authorDAO){
if (err){
console.log(err)
}
else{
// console.log(authorDAO)
// util.inspect(authorDAO)
var author = authorDAO.dataValues
res.status(200).send(author)
}
})
})

app.put('/authors/:id',function(req,res){
var newValues = req.body
Author.find({
where : {
id : req.params.id
}
})
.success(function(authorDAO) {
authorDAO.email = newValues.email
authorDAO.name = newValues.name
authorDAO.save(['email','name'])
.success(function(){
res.status(202).send('modified author')
})
})
})

app.delete('/authors/:id',function(req,res){
Author.find({
where : {
id : req.params.id
}
})
.success(function(authorDAO) {
authorDAO.destroy()
.success(function(){
res.status(202).send('deleted author')
})
})

})

app.post('/authors/:id/messages',function(req, res) {
var message = req.body
Author.find({
where : {
id : req.params.id
}
})
.success(function(authorDAO){
Message.create(message)
.success(function(messageDAO){
authorDAO.addMessage(messageDAO)
.success(function(){
res.status(201).send('create message')
})
})
})
})

app.get('/authors/:id/messages',function(req, res) {
Author.find({
where : {
id : req.params.id
},
include : {model : Message, as : 'messages'}
})
.success(function(authorDAO) {
var messages = authorDAO.dataValues.messages
res.status(200).send(messages)
})
})


app.listen(8080)

错误是:

{ [SequelizeConnectionRefusedError: connect ECONNREFUSED]
name: 'SequelizeConnectionRefusedError',
message: 'connect ECONNREFUSED',
parent:
{ [Error: connect ECONNREFUSED]
code: 'ECONNREFUSED',
errno: 'ECONNREFUSED',
syscall: 'connect',
fatal: true },
original:
{ [Error: connect ECONNREFUSED]
code: 'ECONNREFUSED',
errno: 'ECONNREFUSED',
syscall: 'connect',
fatal: true } }

最佳答案

无论如何,我收到了以下错误。我的问题非常简单:我还没有启动我的 mySQL 服务器。

{ SequelizeConnectionRefusedError: connect ECONNREFUSED 127.0.0.1:3306
at Utils.Promise.tap.then.catch.err (/Users/Stephen/Documents/_coding/hackReactorRemote/hrr34-fec/calendar-component/node_modules/sequelize/lib/dialects/mysql/connection-manager.js:139:19)
at tryCatcher (/Users/Stephen/Documents/_coding/hackReactorRemote/hrr34-fec/calendar-component/node_modules/bluebird/js/release/util.js:16:23)
at Promise._settlePromiseFromHandler (/Users/Stephen/Documents/_coding/hackReactorRemote/hrr34-fec/calendar-component/node_modules/bluebird/js/release/promise.js:512:31)
at Promise._settlePromise (/Users/Stephen/Documents/_coding/hackReactorRemote/hrr34-fec/calendar-component/node_modules/bluebird/js/release/promise.js:569:18)
at Promise._settlePromise0 (/Users/Stephen/Documents/_coding/hackReactorRemote/hrr34-fec/calendar-component/node_modules/bluebird/js/release/promise.js:614:10)
at Promise._settlePromises (/Users/Stephen/Documents/_coding/hackReactorRemote/hrr34-fec/calendar-component/node_modules/bluebird/js/release/promise.js:690:18)
at _drainQueueStep (/Users/Stephen/Documents/_coding/hackReactorRemote/hrr34-fec/calendar-component/node_modules/bluebird/js/release/async.js:138:12)
at _drainQueue (/Users/Stephen/Documents/_coding/hackReactorRemote/hrr34-fec/calendar-component/node_modules/bluebird/js/release/async.js:131:9)
at Async._drainQueues (/Users/Stephen/Documents/_coding/hackReactorRemote/hrr34-fec/calendar-component/node_modules/bluebird/js/release/async.js:147:5)
at Immediate.Async.drainQueues (/Users/Stephen/Documents/_coding/hackReactorRemote/hrr34-fec/calendar-component/node_modules/bluebird/js/release/async.js:17:14)
at runCallback (timers.js:810:20)
at tryOnImmediate (timers.js:768:5)
at processImmediate [as _immediateCallback] (timers.js:745:5)
name: 'SequelizeConnectionRefusedError',
parent:
{ Error: connect ECONNREFUSED 127.0.0.1:3306
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1191:14)
errno: 'ECONNREFUSED',
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 3306,
fatal: true },
original:
{ Error: connect ECONNREFUSED 127.0.0.1:3306
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1191:14)
errno: 'ECONNREFUSED',
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 3306,
fatal: true } }

解决方案是:

  1. 检查mysql服务器状态
  2. 当我意识到它没有打开时 - 启动它。
    $ mysql.server status     ERROR! MySQL is not running, but PID file exists    $ mysql.server start    Starting MySQL     SUCCESS!

MySQL 运行后,我的连接按预期工作。

关于mysql - SequelizeConnectionRefusedError JSON MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27880623/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com