社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

无法连接到Django 2.x.x Python AppEngine中的MySQL服务器

Gary • 6 年前 • 453 次点击  

我正在尝试对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>
  • 我已经为我的appengine项目xxx app的所有者xxx授予了权限- app@appspot.gserviceaccount.com 这个 Cloud SQL Client 权利。我已经为应用程序创建了一个特定的数据库用户帐户 XYZ 它可以连接到所有主机(*选项)

  • settings.py中的连接详细信息如下:

    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地址,我将不得不创建一个计算虚拟机实例。
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/51840
文章 [ 1 ]  |  最新文章 6 年前
kurtisvg
Reply   •   1 楼
kurtisvg    7 年前

App Engine对特定实例的IP地址没有任何保证,并且可能随时更改。因为它是一个无服务器的平台,所以它抽象了基础设施,允许您专注于应用程序。

使用App Engine Flex时有两个选项:Unix域套接字和TCP端口。哪个应用程序引擎提供给您取决于您在App.yaml中如何指定它:

  • cloud_sql_instances: <INSTANCE_CONNECTION_NAME> 在 /cloudsql/<INSTANCE_CONNECTION_NAME>
  • cloud_sql_instances: <INSTANCE_CONNECTION_NAME>=tcp:<TCP_PORT> 提供本地tcp端口( 127.0.0.1:<TCP_PORT> ).

你可以在 Connecting from App Engine 第页。