Mysql
 sql >> Datenbank >  >> RDS >> Mysql

ETIMEOUT-Fehler | Google Cloud SQL-Datenbank mit NodeJS

In Ihrer Verbindungskonfiguration für mysql,host funktioniert nicht auf App Engine. Sie müssen socketPath verwenden . socketPath ist der Pfad zu einem Unix-Domain-Socket, zu dem eine Verbindung hergestellt werden soll. Wenn verwendet, werden Host und Port ignoriert. (übertragenes Wissen aus der Verwendung von Loopback auf App Engine flex. Ich habe mir tagelang den Kopf zerbrochen, lol). Sein Wert ist der Verbindungsname Ihrer Cloud SQL-Instanz

In Ihrem Fall sollte es also so aussehen:/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'
});

Es ist ein ähnlicher Prozess, wenn Sie Postgres auf GCloud verwenden, was mit hier