0

私のDjangoアプリケーションには次の設定があります。

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
        'NAME': 'mydatabasename',                      # Or path to database file if using sqlite3.
        'USER': 'davidfaux',                      # Not used with sqlite3.
        'PASSWORD': 'mySecretPassword',                  # Not used with sqlite3.
        'HOST': 'sql.externalhost.com',        # Set to empty string for localhost. Not used with sqlite3.
        'PORT': '',                  # Set to empty string for default. Not used with sqlite3.
    }
}

ただし、manage.pyアプリケーションを実行すると、次のトレースバックが表示されます。

super(Connection, self).__init__(*args, **kwargs2)
_mysql_exceptions.OperationalError: (1045, "Access denied for user 'davidfaux'@'75.156.124.202' (using password: YES)")

75.156.124.202Django アプリケーションをホストする専用サーバーの IP アドレスです。ただし、settings.py で指定したように、私のデータベースは外部サーバーにあります。

Django が、指定した外部の場所ではなく、専用サーバーでこのデータベースを探しているのはなぜですか?

4

1 に答える 1

3

Django は、専用サーバー上のデータベースを探していません。返された MySQL エラー メッセージは、MySQL を75.156.124.202使用する特定のホストからの接続のみを許可できるため、接続していることを意味します。

これは、おそらく何らかの認証の問題があることを意味します。サーバーから mysql クライアントを使用して接続を試みsql.externalhost.com、データベースに接続できることを確認してください。

于 2012-05-17T17:59:16.730 に答える