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
第一次连接 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