当我尝试使用sequilize将第二代云mysql与app engine连接时,会出现以下错误:
{“name”:“sequelizeconnectionerror”,“parent”:{“errno”:“enoint”,“code”:“enoint”,“syscall”:“connect”,“address”:“/cloudsql/phrasal-charger-215107:asia-south1:newdish123”,“fatal”:true},“original”:{“errno”:“enoint”,“code”:“enoint”,“syscall”:“connect”,“address”:“/cloudsql/phrasal-charger-215107:asia-south1:newdish123”,“fatal”:true}
续集选项set:-
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'
}
}
);
附录yaml
runtime: nodejs
env: flex
beta_settings:
cloud_sql_instances: phrasal-charger-215107:asia-south1:newdish123
更多信息
我试着把“/cloudsql/phrasal-charger-215107:asia-south1:newdish123”放到主机中,但没有成功。
当我在cloudsql提供的主机上设置公共ip地址,并将gcp设置为授权ip时,sequelize运行正常,运行正常。
2条答案
按热度按时间pjngdqdw1#
我得到了完全相同的问题,我所有的代码库没有改变。我所做的是创建一个新项目,然后在我的新项目中创建一个新的appengine示例和一个新的cloudsql数据库。
然后我为项目启用了sqladmin,通过运行
以及为新项目创建新的配置文件。
然后我再次部署了应用程序:
您可以在此处找到我的项目设置:
google app enging上的node.js with cloud sqlerror:connect enoint/cloudsql/
gv8xihay2#
手动将需要访问云sql的计算机/网络的ip地址添加到授权网络部分。
以及
连接时请检查您的代理