4

Ich versuche, eine Verbindung zu Cloud SQL über eine Python-Anwendung (mit PyMySQL 0.7.9) herzustellen, die auf Google App Engine läuft.Keine Verbindung zu Cloud SQL über PyMySQL möglich

Meine Verbindungszeichenfolge sieht wie folgt aus (Anmeldeinformationen sind gefälscht natürlich):

pymysql.connect(unix_socket='/cloudsql/gae_project_name:cloudsql_instance_name', 
       user='user', password='', db='database_name') 

Die Fehlermeldung, die ich erhalten ist:

OperationalError: (2003, "Can't connect to MySQL server on 'localhost' ([Errno 97] Address family not supported by protocol)")

Es ist wie PyMySQL erkennt nicht, dass ich Ich versuche, eine Verbindung über einen Unix-Socket herzustellen und versuche stattdessen den Standardwert für das Hostargument (von dem ich annehme, dass es localhost ist)

Ich kann mit MySQLdb mit der gleichen Verbindungszeichenfolge verbinden.

Antwort

1

Warum nicht stattdessen MySQLdb verwenden?

Ich hatte gerade das gleiche Problem bei der Bereitstellung einer Flask-Anwendung mit PyMySQL, ich habe viele Fixes ohne Erfolg ausprobiert. Meine Abhilfe bestand darin, MySQLDb stattdessen aha .. zu verwenden!

+0

Hehe das ist, was ich tue :) Nach meinem besten Wissen unterstützt die Bibliothek mysqldb Python 3 nicht. Daher die zukunftsfähigere Option, mit PyMySQL in diesen Tagen zu gehen (und wie es mysqldb API kompatibel ist) die zwei sind einfach) – Niklas9

Verwandte Themen