Django尝试连接到错误的套接字

时间:2017-01-13 17:44:08

标签: python mysql django google-cloud-sql unix-socket

我正在尝试按照此处的说明设置django以连接到google cloud sql:Connecting MySQL Client Using the Cloud SQL Proxy。 我用以下代码启动代理后:

./cloud_sql_proxy -dir=/cloudsql -instances=my-instance -credential_file=/app/keyfile.json > /logs/proxy.txt &

Django无法连接到db,并在您尝试加载页面时出现此错误:

  

(2002,“无法通过套接字连接到本地MySQL服务器'/var/run/mysqld/mysqld.sock'(2)”)

我是unix套接字的新手,所以我可能会错误地解释这个,但在我看来,django正试图连接到/var/run/mysqld/mysqld.sock的套接字。

我在Django中的数据库配置是:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'HOSTS': '/cloudsql/my-instance-description',
        'NAME': 'main',
        'USER': '****',
        'PASSWORD': '****',
    }
}

我是否正确地解释了这一点?如果是这样,我需要更改什么才能使django尝试连接到/ cloudsql / my-instance-description的套接字而不是默认值?

1 个答案:

答案 0 :(得分:1)

我认为问题是错字。使用HOST代替HOSTS