Python Djangoを使用してサーバAからサーバ "apple"にmysqlデータベースにアクセスしようとしました。 runconfig.pyの内容は_mysql_exceptions.OperationalError 1044 Djangoを使用しているユーザのアクセスが拒否されました
# Django setting module
django_settings_module = 'settings'
不思議なことに、私はにログインすることができる午前です
_mysql_exceptions.OperationalError: (1044, "Access denied for user 'username'@'ice.cse.connell.edu' to database 'mydatabase'")
:関連書類は
import settings
os.environ['DJANGO_SETTINGS_MODULE'] = runconfig.django_settings_module
from django.db import connection
class Writer(object):
def __init__(self):
def submission(self,pars):
d = connection.cursor()
と以下のように、これは私にエラーを与えて実行されていますサーバー "ice"からサーバー "apple" remoteへのmysql:
$ mysql -u username -ppassword -h apple
私はこの問題をSOから掘り下げてきましたが、まだ答えは見つかりません。この質問は私を夢中にさせてくれました!
以下は、私のsettings.pyの最初の数行です。それは長すぎるので、私はそれのすべてを投稿しませんでした。しかし、誰かがもっと必要な場合は、私はすべてのコンテンツを貼り付けることができます。
# Django settings for mydatabase project.
DEBUG = False
TEMPLATE_DEBUG = DEBUG
ADMINS = (
# ('Your Name', '[email protected]'),
)
MANAGERS = ADMINS
DATABASE_ENGINE = 'mysql' # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
DATABASE_NAME = 'mydatabase' # Or path to database file if using sqlite3.
DATABASE_USER = 'username' # Not used with sqlite3.
DATABASE_PASSWORD = 'password' # Not used with sqlite3.
DATABASE_HOST = 'apple' # Set to empty string for localhost. Not used with sqlite3.
DATABASE_PORT = '' # Set to empty string for default. Not used with sqlite3.
------------------------------------------- ----------------------------------------------
追加POST
シドの提案に基づいてsettings.pyを修正した後:
#DATABASE_ENGINE = 'mysql'
#DATABASE_NAME = 'mydatabase'
#DATABASE_USER = 'username'
#DATABASE_PASSWORD = 'password'
#DATABASE_HOST = 'apple'
#DATABASE_PORT = ''
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'mydatabase',
'USER': 'username',
'PASSWORD': 'password',
'HOST': 'apple',
'PORT': '',
}
}
コマンドライン入力とエラーメッセージがある
>>> import runconfig
>>>
>>> import os
>>> import sys
>>> import settings
>>> #from django.conf import settings
...
>>> os.environ['DJANGO_SETTINGS_MODULE'] = runconfig.django_settings_module
>>>
>>> from django.db import connection
>>> c = connection.cursor()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.6/site-packages/django/db/backends/dummy/base.py", line 15, in complain
raise ImproperlyConfigured, "You haven't set the DATABASE_ENGINE setting yet."
django.core.exceptions.ImproperlyConfigured: You haven't set the DATABASE_ENGINE setting yet.
settings.pyを確認したところ、データベース名が正しいです。それは私の場合には常に低いケースです。 – fanchyna
@fanchynaの心はあなたのsettings.pyデータベースの設定を投稿しますか?どんなドライバーを使っていますか? pyodbc? – Sid
思い出してくれてありがとう。私はオリジナルの投稿を編集し、settings.pyの最初の数行を追加しました。これは長すぎるためです。すべてのコンテンツが必要な場合は、私に知らせてください。ちなみに、ROOT_URLCONFの値は重要ですか?私は、リモートデータベースに接続しようとしているだけで、サーバーのデータを入力するのではなく、何か質問があれば歓迎します。 – fanchyna