【发布时间】:2021-11-27 03:35:39
【问题描述】:
我是一个新手,试图在标准 App 引擎上部署一个玩具 django 应用程序,我收到以下错误。
在本地运行应用程序
当我使用 127.0.0.1 或公共 IP 作为“主机”地址时,我的应用在本地使用云 SQL 正常运行。但是,如果我使用这样的 GCP 连接名称,我会收到此错误:
'HOST': '/cloudsql/asim800:us-central1:django-mysql-1'
OperationalError: (2002, "Can't connect to local MySQL server through socket '/cloudsql/asim800:us-central1:django-mysql-1'
在 GAE 上运行应用
-
使用 HOST='/cloudsql/asim800:us-central1:django-mysql-1',我得到这个错误 2003,“无法连接到 'localhost' 上的 MySQL 服务器([Errno 111] 连接被拒绝)” - 不知道为什么我在错误中得到 'localhost' 但将 Google 连接名称转换为主机似乎有问题和端口信息。
-
在 GAE 上为 mysql 实例使用公网 IP 会导致超时。
我的 settings.py 看起来像这样
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'HOST': '/cloudsql/asim800:us-central1:django-mysql-1',
'NAME': 'myproject',
'USER': 'pblogsu',
'PASSWORD': '****',
}
}
我可以在以下日志中正确看到它们:
{'数据库':'我的项目', '主机': '/cloudsql/asim800:us-central1:django-app1', '密码': 'pblogsu', “用户”:“隐藏”}
我已启用 Google Cloud SQL API。不确定如何调试 Google 连接名称映射到主机/端口地址。 我在这里看到过类似的问题(https://github.com/GoogleCloudPlatform/python-docs-samples/issues/870),但没有任何建议对我有帮助。 任何帮助将不胜感激。
PS:我已经大量编辑了我的问题。之前我使用过 postgesql,结果非常相似。
【问题讨论】:
标签: mysql django google-app-engine connection