Py学习  »  Python

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

Gary • 6 年前 • 457 次点击  

我正在尝试对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 年前