Получение «Необработанного отклонения SequelizeConnectionError: connect ENOENT» при подключении к SQL Cloud - PullRequest
0 голосов
/ 12 июня 2019

Я устанавливаю серверную часть NodeJS в Google App Engine, и когда я пытаюсь подключиться к облаку SQL (используя sequelize + postgres), я получаю эту ошибку:

Unhandled rejection SequelizeConnectionError: connect ENOENT /cloudsql/tar:us-central1:dbpointofsales/.s.PGSQL.5432
    at connection.connect.err (/home/mf/backend/node_modules/sequelize/lib/dialects/postgres/connection-manager.js:182:24)
    at Connection.connectingErrorHandler (/home/mf/backend/node_modules/pg/lib/client.js:163:14)
    at Connection.emit (events.js:182:13)
    at Socket.reportStreamError (/home/mf/backend/node_modules/pg/lib/connection.js:71:10)
    at Socket.emit (events.js:182:13)
    at emitErrorNT (internal/streams/destroy.js:82:8)
    at emitErrorAndCloseNT (internal/streams/destroy.js:50:3)
    at process._tickCallback (internal/process/next_tick.js:63:19)

1 Ответ

1 голос
/ 12 июня 2019

Подключить ENOENT означает, что система не может подключиться к MySQL, потому что ее путь неверен.Обновите файлы models / index.js указанным кодом.Чтобы найти свой путь к сокету mysql, перейдите к файлу здесь /etc/mysql/my.cnf (этот путь может зависеть от вашего сервера).Пример, /etc/my.cnf.Здесь вы найдете путь к сокету.

Пожалуйста, проверьте, ему нужны права администратора (sudo в Ubuntu).Убедитесь, что учетные данные верны, порт открыт.

Вы должны проверить настройку соединения, и вы можете попробовать подтвердить соединение.

Проверка соединения

sequelize

.authenticate ()

.then (() => {

console.log('Connection has been established successfully.');

})

.catch (err =>{

console.error('Unable to connect to the database:', err);

});

Модуль mysql с ключом socketPath.

var sequelize = new Sequelize ("база данных", имя пользователя, пароль, {

host: "localhost",

dialect: "mysql",

logging: function () {},

pool: {

    max: 5,

    min: 0,

    idle: 10000

},

dialectOptions: {

    socketPath: "/var/run/mysqld/mysqld.sock"

},

define: {

    paranoid: true

}

});

...