我正在使用云SQL第二代。Django在appspot上运行,在本地主机上测试时,到数据库的连接运行良好。我还可以与mysql客户端远程连接到实例,创建数据库,创建用户,等等。我甚至可以远程上传装置。
但是,我无法在appspot上获得django连接到SQL实例。
当尝试这样做时:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'INSTANCE': 'instance:connection:name',
'NAME': 'database',
'USER': 'dbuser',
'PASSWORD': 'pass',
}
}我得到了一个OperationalError
(2001年,“无法创建UNIX套接字(-1)")
当尝试这样做时:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'database',
'USER': 'dbuser',
'PASSWORD': 'pass',
'HOST': '1.2.3.4', # my SQL instance IPv4 address
}
}我得到了一个OperationalError
(2004年,“无法创建TCP/IP套接字(-1)")
当尝试这样做时:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'database',
'USER': 'dbuser',
'PASSWORD': 'pass',
'HOST': '/cloudsql/my-instance-id',
}
}我得到了一个OperationalError
(2013年,“在‘读取初始通信包’时与MySQL服务器失去连接,系统错误: 38")
当使用Google时,用于django的DATABASES设置是什么?
编辑
有一页描述所需设置,但我想说这是为第一代。
此外,有一个相关问题,但这也适用于第一代。
EDIT2
我已经看到,默认情况下,Cloud第二代没有“授权应用程序”,也没有在Google平台控制台上授权应用程序的选项。这可能是连接不起作用的原因。不幸的是,我还不知道如何授权第二代实例的应用程序。
EDIT3
试图批准申请
gcloud sql instances patch <sql-instance> --authorized-gae-apps <gae-app>但不幸的是:
错误:(gcloud.sql.instances.patch)无法更新实例,因为它超过了可以附加到实例的应用程序ID的最大数量。
不知道如何为第二代
https://stackoverflow.com/questions/34933941
复制相似问题