У меня проблема с NodeJS и node-mysql. По какой-то причине в моей локальной среде я могу подключиться к базе данных и получить доступ к конечным точкам для обновления и вставки информации. Я использую mac os x Sierra для разработки. Я использую Ubuntu 16.04 на моем сервере Dev, и я просто запускаю узел на порту 80.NodeJS не будет подключаться к локальной базе данных с узлом-mysql
Файл connection.js выглядит так.
var mysql = require('mysql');
function Connection() {
this.pool = null;
this.init = function() {
this.pool = mysql.createPool({
connectionLimit: 100,
host: 'localhost',
user: 'Miguel',
password: 'thepassword',
database: 'lavishwebLogin',
port:'3306'
});
};
this.acquire = function(callback) {
this.pool.getConnection(function(err, connection) {
callback(err, connection);
});
};
}
module.exports = new Connection();
Моя конечная точка выглядит следующим образом ...
this.login = function(req, res){
connection.acquire(function(err, con) {
con.query('SELECT * FROM users WHERE Email = "' + req.Email + '";', function(err, result) {
if(!err){
if(bcrypt.compareSync(req.Password, result[0].Pass) == true){
result[0].Pass = "";
res.send(result[0])
con.release();
}
} else {
res.send(err)
con.release()
}
});
});
}
погрешность я получаю ответ об ошибке в консоли, которая читает как этот
я получаю сообщение об ошибке в терминал, который читается следующим образом.
build.js: 1275 POST http://lavishweb.com/api/login Net :: ERR_CONNECTION_REFUSED
Не удается прочитать свойство 'запрос' неопределенной на /root/syn-tacticsolutions/api/users/users.js:38:13 в/корень/син-tacticsolutions/connection.js: 18: 7
И прежде чем вы говорите, что это связано с правами ... я назвал это внутри V-сервера
mysql -u Miguel -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 28
Server version: 5.7.16-0ubuntu0.16.04.1 (Ubuntu)
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
Любая помощь горе uld будет высоко оценен. Я искал всюду, чтобы узнать, почему это может не работать. Я действительно в тупике.
Это не проблема nodejs: net :: ERR_CONNECTION_REFUSED находится на сетевом уровне. Можете ли вы сделать «telnet localhost 3306» с вашего сервера dev? – CFrei
Он говорит, что не может подключиться к удаленному хосту: соединение отклонено –
@MiguelCabrera изменить локальный адрес и сделать его IP-адресом –