Google app engine 操作错误:(2004,“无法创建TCP/IP套接字(13)”)

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

在第一次连接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套接字连接到您的云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)