Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Erro ETIMEOUT | Banco de dados do Google Cloud SQL com NodeJS


Na sua configuração de conexão para mysql,host não funciona no App Engine. Você tem que usar socketPath . socketPath é o caminho para um soquete de domínio unix ao qual se conectar. Quando usado, o host e a porta são ignorados. (conhecimento transferido do uso do Loopback no App Engine flex. Fiquei batendo a cabeça por dias lol). Seu valor é o nome da conexão da instância do Cloud SQL

então, no seu caso, deve ficar assim:/cloudsql/my-project-12345:us-central1:mydatabase
var connection = mysql.createConnection({
  socketPath     : '/cloudsql/my-project-12345:us-central1:mydatabase',
  user      : 'username',
  password  : 'password',
  database  : 'db_name'
});

É um processo semelhante se você estiver usando o Postgres no GCloud, que é respondido aqui