OperationalError: (2004, "Can't create TCP/IP socket (13)")

OperationalError: (2004, "Can't create TCP/IP socket (13)")

第一次连接 Flask 项目时,我在 App Engine 上出现以下错误: 操作错误:(2004,"Can't create TCP/IP socket (13)")

连接通过以下代码完成: db = MySQLdb.connect(CLOUDSQL_HOST, CLOUDSQL_USER, CLOUDSQL_PASSWORD, db_instance)

我不明白为什么我的代码在 dev_appserver.py 的本地计算机上运行良好,但在云端却无法运行。

感谢任何帮助。

在 App Engine 上 运行 时,您必须使用 App Engine 本机 UNIX 套接字连接到云 SQL 实例。因此,您可以使用 this example:

中的内容
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)

您可以从控制台或使用命令 gcloud sql instances describe YOUR_INSTANCE 获取 CLOUDSQL_CONNECTION_NAME 字段。它会是这样的: connectionName: YOUR-PROJECT:REGION-OF-THE-INSTANCE-INSTANCE-NAME