Google app engine 操作错误:(2004,“无法创建TCP/IP套接字(13)”)
在第一次连接flask项目时,我在App Engine上出现以下错误: 操作错误:2004,无法创建TCP/IP套接字13 连接由以下代码完成: db=MySQLdb.connectCLOUDSQL\u主机,CLOUDSQL\u用户,CLOUDSQL\u密码,db\u实例 我不明白为什么我在本地机器上使用dev_appserver.py编写的代码可以正常工作,但在云端却无法正常工作Google app engine 操作错误:(2004,“无法创建TCP/IP套接字(13)”),google-app-engine,flask,google-cloud-platform,mysql-python,Google App Engine,Flask,Google Cloud Platform,Mysql Python,在第一次连接flask项目时,我在App Engine上出现以下错误: 操作错误:2004,无法创建TCP/IP套接字13 连接由以下代码完成: db=MySQLdb.connectCLOUDSQL\u主机,CLOUDSQL\u用户,CLOUDSQL\u密码,db\u实例 我不明白为什么我在本地机器上使用dev_appserver.py编写的代码可以正常工作,但在云端却无法正常工作 非常感谢您的帮助。在App Engine上运行时,您必须使用App Engine本机UNIX套接字连接到您的云SQ
非常感谢您的帮助。在App Engine上运行时,您必须使用App Engine本机UNIX套接字连接到您的云SQL实例。因此,您可以在中使用类似的内容: 您可以从控制台或使用gcloud sql instances description\u实例命令获取CLOUDSQL\u CONNECTION\u NAME字段。它将类似于: connectionName:YOUR-PROJECT:REGION-OF-THE-INSTANCE-INSTANCE-NAME
if os.getenv('SERVER_SOFTWARE', '').startswith('Google App Engine/'):
cloudsql_unix_socket = os.path.join(
'/cloudsql', CLOUDSQL_CONNECTION_NAME)
db = MySQLdb.connect(
unix_socket=cloudsql_unix_socket,
user=CLOUDSQL_USER,
passwd=CLOUDSQL_PASSWORD)
else:
db = MySQLdb.connect(host='127.0.0.1', user=CLOUDSQL_USER, passwd=CLOUDSQL_PASSWORD)