мой экспресс-маршрут к конечной точке с mysql регистрирует ошибку: connect ECONNREFUSED 127.0.0.1 - PullRequest
1 голос
/ 28 июня 2019

Я создаю веб-приложение для буткемпа.Я использую экспресс и MySQL.Я направляю запрос get в конечную точку.Маршрут должен запросить мою таблицу базы данных mysql, чтобы выбрать все.Я ожидаю отправить результат на страницу Chrome.Вместо этого я получаю эту ошибку:

Error: connect ECONNREFUSED 127.0.0.1:8211
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1054:14)
    --------------------
    at Protocol._enqueue (/Users/cnebs/Documents/HRATX/hratx42-fullstack-review/node_modules/mysql/lib/protocol/Protocol.js:144:48)
    at Protocol.handshake (/Users/cnebs/Documents/HRATX/hratx42-fullstack-review/node_modules/mysql/lib/protocol/Protocol.js:51:23)
    at Connection.connect (/Users/cnebs/Documents/HRATX/hratx42-fullstack-review/node_modules/mysql/lib/Connection.js:119:18)
    at Connection._implyConnect (/Users/cnebs/Documents/HRATX/hratx42-fullstack-review/node_modules/mysql/lib/Connection.js:457:10)
    at Connection.query (/Users/cnebs/Documents/HRATX/hratx42-fullstack-review/node_modules/mysql/lib/Connection.js:199:8)
    at Object.getAllUsers (/Users/cnebs/Documents/HRATX/hratx42-fullstack-review/database/index.js:17:14)
    at /Users/cnebs/Documents/HRATX/hratx42-fullstack-review/server/index.js:22:6
    at Layer.handle [as handle_request] (/Users/cnebs/Documents/HRATX/hratx42-fullstack-review/node_modules/express/lib/router/layer.js:95:5)
    at next (/Users/cnebs/Documents/HRATX/hratx42-fullstack-review/node_modules/express/lib/router/route.js:137:13)
    at Route.dispatch (/Users/cnebs/Documents/HRATX/hratx42-fullstack-review/node_modules/express/lib/router/route.js:112:3) {
  errno: 'ECONNREFUSED',
  code: 'ECONNREFUSED',
  syscall: 'connect',
  address: '127.0.0.1',
  port: 8211,
  fatal: true
}

Я могу запросить базу данных в терминале.Я могу отправить текст на страницу Chrome через экспресс.Я построил базу данных и таблицу.Я еще не использовал API для своего проекта, чтобы заполнить таблицу.Моя консоль регистрирует ошибку с помощью функции в моем индексе базы данных, которую я импортировал для выражения, чтобы использовать ее для получения маршрута.

Вот индекс базы данных:

const mysql = require('mysql');
const connection = mysql.createConnection({
  host: "127.0.0.1",
  user: "root",
  password: "password",
  database: "github",
  port: 8211
});

const test = () => {
  connection.query("DESCRIBE git_repos", (err, res) => {
    console.log('selection: ', res)
  })
}

const getAllUsers = cb => {
  connection.query(`select * from todos`, (err, res) => {
    if (err) {
      console.log("error in getAllUsers: ", err);
      cb(err);
    } else {
      cb(null, res);
    }
  });
}

module.exports = { test, getAllUsers }

Здесьэто индекс сервера:

const express = require('express');
const db = require('../database')
let app = express();


app.use(express.static(__dirname + '/../client/dist'));

app.get('/repos', function (req, res) {
  // TODO - your code here!
  // This route should send back the top 25 repos

  db.getAllUsers((err, result) => {
    if (err) {
      console.error(err)
      res.status(404).end();
    } else {
      console.log('Getting')
      res.send(result)
    }
  })
});

let port = 1128;

app.listen(port, function() {
  console.log(`listening on port ${port}`);
});

Я ожидаю увидеть какой-либо результат из моего запроса, доставленного на страницу из res.send.

Вместо этого я вижу, что страница localhost можети мой ответ об ошибке выше в моем терминале сервера.

1 Ответ

0 голосов
/ 28 июня 2019

Вы не можете напрямую выбрать порт для своего сервера базы данных в createConnection ().Удалите свойство порта, и оно будет работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...