Django无法访问用户@ localhost

时间:2015-12-21 21:34:38

标签: python mysql django django-settings django-manage.py

我目前在运行Django应用程序Scalica时遇到了一些麻烦。它昨晚工作得很好,我一定做错了什么来打破它 - 我只是不确定它是什么。

当我尝试运行以下内容时:

ubuntu@ip-172-31-28-29:~/largescale/scalica/web/scalica$ python manage.py migrate

我收到此错误消息:

django.db.utils.OperationalError: (1045, "Access denied for user 'appserver'@'localhost' (using password: YES)")

问题是,我不相信这个应用程序甚至应该知道用户应用程序服务器。我正在尝试执行的manage.py文件中的settings.DATABASES设置如下:

# Database
DATABASES = {
  'default': {
    'ENGINE': 'django.db.backends.mysql',
    'OPTIONS': {
      'read_default_file': os.path.join(BASE_DIR, '..', '..', 'db', 'my.cnf'),
    },
  }
}

我正在远程运行Scalica,并将数据保存在远程服务器上以将其显示在网页上。然后由一个在本地运行的scraper抓取,然后将其保存到appserver用户下的数据库中。所以appserver根本不应该访问Scalica数据库。我认为manage.py正在调用一个错误的settings.py。如果是这样的话我该如何解决?如果我的猜测是错误的,如果有人可以提供一些建议,那将会有所帮助。

以下是manage.py的内容:

#!/usr/bin/env python
import os
import sys

if __name__ == "__main__":
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "scalica.settings")

    from django.core.management import execute_from_command_line

    execute_from_command_line(sys.argv)

修改

我已经尝试删除现有的用户appserver并重新创建它,赋予它对本地应用程序使用的数据库metrix1和metrix2的权限。但是,这并没有解决我的问题。我在使用远程运行的Scalica应用程序时遇到问题应与appserver无关。

以下是appserver的用户权限:

| 'appserver'@'localhost'        | def           | SELECT                  | NO           |
| 'appserver'@'localhost'        | def           | INSERT                  | NO           |
| 'appserver'@'localhost'        | def           | UPDATE                  | NO           |
| 'appserver'@'localhost'        | def           | DELETE                  | NO           |
| 'appserver'@'localhost'        | def           | CREATE                  | NO           |
| 'appserver'@'localhost'        | def           | DROP                    | NO           |
| 'appserver'@'localhost'        | def           | RELOAD                  | NO           |
| 'appserver'@'localhost'        | def           | SHUTDOWN                | NO           |
| 'appserver'@'localhost'        | def           | PROCESS                 | NO           |
| 'appserver'@'localhost'        | def           | FILE                    | NO           |
| 'appserver'@'localhost'        | def           | REFERENCES              | NO           |
| 'appserver'@'localhost'        | def           | INDEX                   | NO           |
| 'appserver'@'localhost'        | def           | ALTER                   | NO           |
| 'appserver'@'localhost'        | def           | SHOW DATABASES          | NO           |
| 'appserver'@'localhost'        | def           | SUPER                   | NO           |
| 'appserver'@'localhost'        | def           | CREATE TEMPORARY TABLES | NO           |
| 'appserver'@'localhost'        | def           | LOCK TABLES             | NO           |
| 'appserver'@'localhost'        | def           | EXECUTE                 | NO           |
| 'appserver'@'localhost'        | def           | REPLICATION SLAVE       | NO           |
| 'appserver'@'localhost'        | def           | REPLICATION CLIENT      | NO           |
| 'appserver'@'localhost'        | def           | CREATE VIEW             | NO           |
| 'appserver'@'localhost'        | def           | SHOW VIEW               | NO           |
| 'appserver'@'localhost'        | def           | CREATE ROUTINE          | NO           |
| 'appserver'@'localhost'        | def           | ALTER ROUTINE           | NO           |
| 'appserver'@'localhost'        | def           | CREATE USER             | NO           |
| 'appserver'@'localhost'        | def           | EVENT                   | NO           |
| 'appserver'@'localhost'        | def           | TRIGGER                 | NO           |
| 'appserver'@'localhost'        | def           | CREATE TABLESPACE       | NO           |
+--------------------------------+---------------+-------------------------+--------------+

0 个答案:

没有答案