Как мне подключить локальный сервер nodeJS к MySQL, который работает на AWS?

0

Вот мой код для подключения к MYSQL, я получаю connection timeout об ошибке connection timeout:

Это мой файл подключения для подключения к MYSQL:

/*
* @sqlConnection
* Creates the connection, makes the query and close it to avoid concurrency conflicts.
*/

var mysql = require('mysql');
var sqlConnection = function sqlConnection(sql, values, next) {

    // It means that the values hasnt been passed
    if (arguments.length === 2) {
        next = values;
        values = null;
    }
    var connection = mysql.createConnection({
        "host": process.env.dbHost,
        "user": process.env.dbUser,
        "password": process.env.dbPass,
        "database": process.env.dbName,
        "port":process.env.dbPort
    });
    connection.connect(function (err) {
        if (err !== null) {
            console.log("[MYSQL] Error connecting to mysql:" + err + '\n');
        }
        else {
            console.log("Connection is available");
        }
    });

    connection.query(sql, values, function (err) {
        connection.end(); // close the connection

        if (err) {
            throw err;
        }

        // Execute the callback
        next.apply(this, arguments);
    });
};

module.exports = sqlConnection;

Это ошибка, которую я получаю:

Error: connect ETIMEDOUT
    at Connection._handleConnectTimeout (/home/himanshu/node_modules/mysql/lib/Connection.js:411:13)
    at Object.onceWrapper (events.js:313:30)
    at emitNone (events.js:106:13)
    at Socket.emit (events.js:208:7)
    at Socket._onTimeout (net.js:420:8)
    at ontimeout (timers.js:482:11)
    at tryOnTimeout (timers.js:317:5)
    at Timer.listOnTimeout (timers.js:277:5)
    --------------------

Я думаю, что я делаю что-то не так в файле конфигурации, который выглядит, я не знаю, что предоставить в db HOST или Как я могу подключиться к aws mysql db:

dbHost=00.00.000.000 // aws instance ip
dbName=HIMANSHU
dbUser=ROOT
dbPass=PASSWORD
dbPort=3360
Теги:
amazon-ec2
mysql-error-1064

1 ответ

0

@Himanshu Просто проверьте правило Inbound вашего экземпляра. Как и в вашем коде, похоже, что вы используете MySQL в своей машине EC2.

Поэтому просто убедитесь, что вы допустили порт 3306 в правилах входящих и исходящих правил

  • 0
    Я просто установил входящие правила, и теперь я получаю Error connecting to mysql:Error: connect ECONNREFUSED .
  • 0
    ваш порт БД 3360 в вашем файле конфигурации, если он не был изменен вручную, а затем изменился на 3306. Убедитесь, что ваше входящее правило установлено только в соответствии с портом БД.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню