Задать вопрос

Почему при попытке подключиться к mysql под node.js приложение уходит в ошибку?

при попытке выполнения данного кода, приложение падает с ошибкой
var express = require('express');

var mysql      = require('mysql');
var connection = mysql.createConnection({
  host     : '127.0.0.1',
  database : 'db',
  user     : 'root',
  password : 'password'
  
});


var app = express();

app.get('/', function (req, res) {
    connection.connect();

connection.query('SELECT * FROM users WHERE id = 1', function(err, rows) {
  if (err) throw err;
});
});



var server = app.listen(8001, function () {
});


if (err) throw err;
^
Error: connect ECONNREFUSED
at exports._errnoException (util.js:746:11)
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:983:19)
--------------------
at Protocol._enqueue (/Users/aleksandrfadeev/node_modules/mysql/lib/protocol/Protocol.js:135:48)
at Protocol.handshake (/Users/aleksandrfadeev/node_modules/mysql/lib/protocol/Protocol.js:52:41)
at Connection.connect (/Users/aleksandrfadeev/node_modules/mysql/lib/Connection.js:109:18)
at /Users/aleksandrfadeev/NetBeansProjects/NodeJS/public_html/server.js:37:16
at Layer.handle [as handle_request] (/Users/aleksandrfadeev/node_modules/express/lib/router/layer.js:82:5)
at next (/Users/aleksandrfadeev/node_modules/express/lib/router/route.js:110:13)
at Route.dispatch (/Users/aleksandrfadeev/node_modules/express/lib/router/route.js:91:3)
at Layer.handle [as handle_request] (/Users/aleksandrfadeev/node_modules/express/lib/router/layer.js:82:5)
at /Users/aleksandrfadeev/node_modules/express/lib/router/index.js:267:22
at param (/Users/aleksandrfadeev/node_modules/express/lib/router/index.js:340:14)

из под php с теми же параметрами к mysql подключается нормально
  • Вопрос задан
  • 2034 просмотра
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
@polozad
mysql в лог что-то пишет?
Ответ написан
Комментировать
MarcusAurelius
@MarcusAurelius Куратор тега Node.js
автор Impress Application Server для Node.js
Скорее всего поможет первый вариант:
  1. Перенесите connection.connect(); в сразу после определения var connection
  2. Попробуйте заменить 127.0.0.1 на localhost
  3. Проверьте порт 3306, его можно явно задать в createConnection
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы