0

Ich möchte eine Verbindung von meiner GAE-App zu meiner Google Cloud MySQL-Instanz herstellen. Ich verwende den github.com/go-sql-driver/mysql Treiber und ich befolgte die in tutorial angegebenen Schritte. Anscheinend kann ich mich mit der Datenbank ohne einen Fehler verbinden, aber wenn ich eine Anfrage machen möchte, bekomme ich driver: bad connection und packets.go:33: unexpected EOF. Ich habe sowohl meine lokale IP-Adresse als auch die GAE-App autorisiert, um auf meine Datenbank zuzugreifen, und ich kann mich problemlos von meinem lokalen Rechner und dem MySQL-Client aus verbinden. Ich habe bereits versucht, meine App in der Standardumgebung einzurichten und folgte dem Ratschlag here, aber es hat auch nicht funktioniert.Verbinden Sie Google App Engine mit Google Cloud Storage in einer flexiblen Umgebung.

, dass meine Go-Code ist, mit dem ich eine Verbindung zur Datenbank:

host := os.Getenv("DB_HOST") 
user := os.Getenv("DB_USER") 
pwd := os.Getenv("DB_PWD") 
connectionInfo := fmt.Sprintf("%v:%[email protected](%v:3306)/mobile_data?parseTime=true", user, pwd, host) 
db, err := sql.Open("mysql", connectionInfo) 

Und das ist meine app.yaml Datei:

runtime: go 
vm: true 
env_variables: 
    "DB_HOST": "[Google Cloud MySQL Instance IPv4]" 
    "DB_USER": "[User]" 
    "DB_PWD": "[Password]" 

Jede Spitze oder Beratung ist sehr zu schätzen!

+0

Verbinden Sie sich mit der Cloud-SQL-Instanz der ersten Generation oder der zweiten Generation? Wenn es sich um eine zweite Generation handelt, sollten Sie den Cloud-SQL-Proxy verwenden: https://cloud.google.com/sql/docs/access-control#instanceaccess – Tianzhou

+0

Ich habe mich mit der Instanz der ersten Generation verbunden. In dem Link, den du mir schickst, geben sie an, dass der Zugriff von der flexiblen Umgebung der App-Engine auf eine Instanz der ersten Generation nicht unterstützt wird. Danke für den Link! – treigerm

Antwort

0

This Link besagt, dass der Zugriff auf Instanzenebene zwischen der flexiblen App-Engine-Umgebung und einer Cloud SQL-Instanz der ersten Generation noch nicht unterstützt wird. Wenn Sie eine Verbindung zu einem Cloud SQL der zweiten Generation herstellen möchten, müssen Sie den Cloud SQL Proxy verwenden.
Dank @Tianzhou für mich auf den Link zeigen.

Verwandte Themen