当我尝试使用sequilize将第二代Cloud mysql与应用程序引擎连接时,它会给我以下错误:
{"name":"SequelizeConnectionError","parent":{true}}
Sequelize选项集:-
const db = new Sequelize(
config.database.db,
config.database.username,
config.database.password,
{
host:'localhost',
dialect: "mysql",
port: 3306,
dialectOptions: {
socketPath: '/cloudsql/phrasal-charger-215107:asia-south1:newdish123'
}
}
);
app.yaml
runtime: nodejs
env: flex
beta_settings:
cloud_sql_instances: phrasal-charger-215107:asia-south1:newdish123
更多信息
我尝试在主机中放入"/cloudsql/frassal-changer-215107:asia-south1:newdish123",但没有成功。
当我把公共ip地址放在CloudSQL提供的主机中,并将我的带有GCP的ip设置为授权ip时,sequelize就可以完美地运行,并按预期执行操作。
我遇到了完全相同的问题,我所有的代码库根本没有改变。我所做的修复是创建一个新项目,然后在我的新项目中创建新的应用程序引擎实例和新的云SQL数据库。
然后我为该项目启用了SQL Admin,通过运行创建了一个新的配置文件
gcloud init
以及为新项目创建新的配置文件。
然后我再次部署了应用程序:
gcloud app deploy
你可以在这里找到我项目的设置:
谷歌应用程序引擎上的Node.JS与云SQL错误:连接ENOENT/cloudsql/
手动将需要访问Cloud SQL的机器/网络的IP地址添加到"授权网络"部分。
和
连接时检查您的代理