【问题标题】:How to use sequelize to connect to Cloud SQL MySQL Instance? Error: sequelizeconnectionerror: connect ENOENT如何使用 sequelize 连接 Cloud SQL MySQL Instance?错误:sequelizeconnectionerror:连接 ENOENT
【发布时间】:2022-01-27 09:18:48
【问题描述】:

我正在尝试从我的 Nodejs 服务器连接到我的数据库,如下所示:

const db = new Sequelize(sql.database, sql.username, sql.password, sql.config);

const connectDB = async () => {
  try {
    await db.authenticate();
    logger.info(`MySQL DB Connected: ${sql.config.host}`)
  } catch (error) {
    logger.error(`Error: ${error}`);
    process.exit(1)
  }
}

我的配置如下:

const sql = {
 database: process.env.SQL_DATABASE as string,
  username: process.env.SQL_USER as string,
  password: process.env.SQL_PASSWORD,
  config: {
    dialect: "mysql" as Dialect,
    host: "/cloudsql/{instance}" as string,
    dialectOptions: {
      socketPath: "/cloudsql/{instance}",
    },
  },
};

但是我收到了sequelizeconnectionerror: connect ENOENT

在 GCP 中连接到我的 Cloud SQL 实例时有什么遗漏吗?

【问题讨论】:

  • ENOENT 表示Error NO ENTry (or Error NO ENTity)。您是在尝试连接到 Cloud SQL 公有 IP 还是私有 IP?如果是公网 IP,是否设置了 Cloud SQL Auth 代理?另外,您在{instance} 值上使用了什么格式?此外,您的代码在哪里运行? App Engine 标准、灵活、云功能?

标签: node.js google-cloud-platform google-cloud-sql


【解决方案1】:

这里有一些你可以参考的指南。

https://cloud.google.com/sql/docs/mysql/connect-overview

我还发现了一个类似的问题,你也可以检查一下。

Connecting Sequelize to Google Cloud SQL

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-22
    • 2018-10-30
    • 1970-01-01
    • 2020-06-14
    • 2021-08-01
    • 2016-03-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多