【发布时间】: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