【问题标题】:OperationalError (2001, "Can't create UNIX socket (-1)") - Django on Google App EngineOperationalError(2001,“无法创建 UNIX 套接字 (-1)”) - Google App Engine 上的 Django
【发布时间】:2013-12-02 03:47:57
【问题描述】:

我猜这是一个相当简单的问题,但我很难将我的 Django 项目放在 GAE 上。不访问我的 Cloud SQL 数据库的页面工作正常,但每当我尝试访问引用数据库的页面时,我都会得到

OperationalError (2001, "Can't create UNIX socket (-1)")

所有其他问题似乎都有 errno 24 或 errno 12,这似乎是不同的问题。

这里有一些相关的代码sn-ps:

# settings.py
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'INSTANCE': '******:webapp',
        'NAME': 'web_db',
        'USER': 'root',
    }
}

# views.py
def createUUID(request):
    id = UUID.create(uuid.uuid4())
    id.save()   # Error happens here
    return HttpResponse(id.uuid)

异常全文:

OperationalError at /register/

(2001, "Can't create UNIX socket (-1)")

Request Method:     GET
Request URL:    http://*****.appspot.com/register/
Django Version:     1.5.4
Exception Type:     OperationalError
Exception Value:    

(2001, "Can't create UNIX socket (-1)")

Exception Location:     /base/data/home/runtimes/python27/python27_lib/versions/third_party/MySQLdb-1.2.4b4/MySQLdb/connections.py in __init__, line 190
Python Executable:  /base/data/home/runtimes/python27/python27_dist/python
Python Version:     2.7.5
Python Path:    

['/base/data/home/apps/s~******/1.371736483116355711',
 '/base/data/home/runtimes/python27/python27_dist/lib/python27.zip',
 '/base/data/home/runtimes/python27/python27_dist/lib/python2.7',
 '/base/data/home/runtimes/python27/python27_dist/lib/python2.7/plat-linux2',
 '/base/data/home/runtimes/python27/python27_dist/lib/python2.7/lib-tk',
 '/base/data/home/runtimes/python27/python27_dist/lib/python2.7/lib-old',
 '/base/data/home/runtimes/python27/python27_dist/lib/python2.7/lib-dynload',
 '/base/data/home/runtimes/python27/python27_dist/lib/python2.7/site-packages',
 '/base/data/home/runtimes/python27/python27_lib/versions/1',
 '/base/data/home/runtimes/python27/python27_lib/versions/third_party/MySQLdb-1.2.4b4',
 '/base/data/home/runtimes/python27/python27_lib/versions/third_party/django-1.5',
 '/base/data/home/runtimes/python27/python27_lib/versions/third_party/protorpc-1.0',
 '/base/data/home/runtimes/python27/python27_lib/versions/third_party/webapp2-2.3',
 '/base/data/home/runtimes/python27/python27_lib/versions/third_party/webob-1.1.1',
 '/base/data/home/runtimes/python27/python27_lib/versions/third_party/yaml-3.10',
 u'/base/data/home/apps/s~*****/1.371736483116355711/..']

Server time:    Tue, 19 Nov 2013 07:30:30 +0000

有什么见解吗?

【问题讨论】:

标签: python mysql django google-app-engine


【解决方案1】:

我在 prod 中使用 django 配置我的数据库(Google Cloud SQL)时遇到了这个问题。这是我需要的设置。

# Running in development, so use a local MySQL database.
DATABASES = {
'default': {
    'ENGINE': 'google.appengine.ext.django.backends.rdbms',
    'INSTANCE': 'app-id:db_instance',
    'NAME': 'mysql',
    'USER': 'root',
    }
}

【讨论】:

    【解决方案2】:

    Takashi 的正确答案! 将主机设置更改为 - 'HOST': '/cloudsql/your-project-id:your-instance-name'

       DATABASES = {
        'default': {
                'ENGINE':'django.db.backends.mysql',
                'HOST':'/cloudsql/your-project-id:your-instance-name',
                'NAME': 'db_name',
                'USER': 'root',
                'PASSWORD': '********',
    }
    

    被困在这里两天了!谢谢!

    【讨论】:

      猜你喜欢
      • 2012-03-06
      • 2018-01-23
      • 2019-01-10
      • 2015-05-31
      • 2013-04-07
      • 2022-11-12
      • 2010-11-03
      • 2012-12-10
      • 1970-01-01
      相关资源
      最近更新 更多