我想使用云SQL / MySQL实例为我的AppEngine帐户。该应用程序是一个Python的Django的2.1.5的AppEngine应用。我已经在谷歌云创建MYSQL的一个实例。
我已经加入从SQL实例的详细信息复制我的app.yaml文件如下:
beta_settings:
cloud_sql_instances: <INSTANCE_CONNECTION_NAME>=tcp:<TCP_PORT>
[email protected]
的Cloud SQL Client
权利的权利。我创建特定于应用程序XYZ
它可以连接到所有主机(*可选)一个数据库用户账号 DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'my-db',
'USER': 'appengine',
'PASSWORD': 'xxx',
'HOST': '111.111.11.11', # used actual ip
'PORT': '3306'
}
}
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'HOST': '/cloudsql/<your-project-id>:<your-cloud-sql-instance>',
'NAME': '<your-database-name>',
'USER': 'root',
}
}
Add Network
,然后尝试连接本地所连接。该应用程序将运行使用CIDR标记本地IP地址的网络后,当地的罚款。我的问题:
OperationalError: (2003, "Can't connect to MySQL server on '0.0.0.0' ([Errno 111] Connection refused)")
App Engine不具有任何担保关于特定实例的IP地址,并且可以随时更改。既然是无服务器平台,它抽象掉的基础设施,让您专注于您的应用程序。
有使用App引擎的Flex时有两种选择:Unix域套接字和TCP端口。哪一个App Engine提供了您取决于您如何在app.yaml中指定它:
cloud_sql_instances: <INSTANCE_CONNECTION_NAME>
提供在/cloudsql/<INSTANCE_CONNECTION_NAME>
Unix套接字cloud_sql_instances: <INSTANCE_CONNECTION_NAME>=tcp:<TCP_PORT>
提供了本地TCP端口(127.0.0.1:<TCP_PORT>
)。您可以找到有关这个Connecting from App Engine页的详细信息。