manage.py migration无法访问远程MySQL数据库

时间:2019-01-16 14:19:26

标签: mysql django amazon-web-services migrate

我有一个Django应用程序,该应用程序连接到远程MySQL数据库(都在AWS上,只是在不同的服务器上)。连接工作正常,应用程序与数据库正确交互(从数据库中获取数据并向其中添加数据)。

但是,当我尝试执行manage.py migrate时,出现以下错误:

django.db.utils.OperationalError: (2002, "Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)")

manage.py是否需要做一些特定的事情才能与远程数据库进行交互,而不是尝试访问本地数据库(不存在)?

1 个答案:

答案 0 :(得分:2)

您的托管服务器上的设置很可能与本地计算机上的设置不同。在托管环境上运行manage.py时,需要指定要使用的设置文件:

/path/to/virtualenv/bin/python manage.py migrate --settings=myapp.settings.production

或您的生产设置所在的位置。如果您省略--settings,则说明运行的是开发设置,例如在本地计算机上。

或者,您需要在运行$DJANGO_SETTINGS_MODULE之前设置manage.py migrate环境变量