Ich verwende eine zweite Cloud-Generation . Django wird auf dem Appspot ausgeführt und die Verbindung zur Datenbank funktioniert einwandfrei, wenn auf dem lokalen Host getestet wird. Ich kann mich auch mit dem mysql-Client remote mit der Instanz verbinden, Datenbanken erstellen, Benutzer erstellen, die üblichen Dinge. Ich kann sogar Geräte remote hochladen .
Ich kann jedoch keinen Django auf dem mit der SQL-Instanz verbundenen Appspot erhalten.
Wenn Sie das versuchen:
%Vor% Ich bekomme ein OperationalError
:
(2001, "Kann UNIX-Socket (-1) nicht erstellen")
Wenn Sie das versuchen:
%Vor% Ich bekomme ein OperationalError
:
(2004, "Kann TCP / IP-Socket (-1) nicht erstellen")
Wenn Sie das versuchen:
%Vor% Ich bekomme ein OperationalError
:
(2013, "Verlorene Verbindung zum MySQL-Server beim Lesen der Initiale Kommunikationspaket ', Systemfehler: 38 ")
Was sind die Einstellungen für DATABASES
, die für Django verwendet werden, wenn Google Cloud SQL Second Generation verwendet wird?
Es gibt eine Seite, auf der die erforderlichen Einstellungen beschrieben sind, aber ich würde sagen, das ist für die erste Generation.
Außerdem gibt es eine verwandte Frage , aber das gilt auch für die erste Generation.
Ich habe gesehen, dass es standardmäßig keine "Autorisierten Anwendungen" für Cloud SQL Second Generation gibt, und es gibt keine Option, um eine Anwendung auf der Google Cloud Platform-Konsole zu autorisieren. Dies könnte der Grund sein, warum Verbindungen nicht funktionieren. Leider weiß ich noch nicht, wie man eine Anwendung für Instanzen der zweiten Generation autorisiert.
Versuchen Sie Anwendungen zu autorisieren :
%Vor%Aber leider:
FEHLER: (gcloud.sql.instances.patch) Fehler beim Aktualisieren einer Instanz weil es die maximale Anzahl von App-IDs überschritten hat, die angehängt werden können zu der Instanz.
Keine Ahnung, wie das für die zweite Generation
sind unterschiedliche Konfigurationen in der ersten Generation und der zweiten Konfiguration. Ich hatte das gleiche Problem und behebe es, indem ich den Namen der Instanz ändere:
%Vor%Bevor Sie die App Engine-Anwendung autorisieren müssen.
Quelle .
Reguläre App Engine-Instanzen können derzeit nicht auf Cloud SQL-Instanzen der zweiten Generation zugreifen. Dies wird in den Dokumenten kurz erwähnt:
Hinweis: Zugriff auf Cloud SQL-Instanzen der zweiten Generation kann gewährt werden nur für verwaltete VMs.
Dies sollte sich hoffentlich ändern, bevor Instanzen der zweiten Generation die Betaversion verlassen.
Tags und Links django google-app-engine