我正在尝试对APPEngine帐户使用cloud SQL/mysql实例。该应用程序是一个python django-2.1.5 appengine应用程序。我在google云中创建了一个MYSQL实例。
我已在从SQL实例详细信息复制的app.yaml文件中添加了以下内容:
beta_settings:
cloud_sql_instances: <INSTANCE_CONNECTION_NAME>=tcp:<TCP_PORT>
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地址的网络后,应用程序在本地运行良好。
我的问题:
-
如果不添加AppEngine分配的IP地址,我将无法连接到云sql。它给了我一个错误:
OperationalError: (2003, "Can't connect to MySQL server on '0.0.0.0' ([Errno 111] Connection refused)")
-
在哪里可以找到appengine分配的IP地址。即使是暂时的,我也不介意。我知道如果我需要静态IP地址,我将不得不创建一个计算虚拟机实例。