17

私はdjangoで作業を開始しました。これは、settings.pyで「DATABASES」を設定した後の「runserver」のエラーです

mysql_exceptions.OperationalError: (1045, "Access denied for user 'root'@'localhost' (using password: YES)") 

コードの私のsettings.py部分:

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

}

「my_site」データベースを作成し、権限を適切に設定しました (root にすべての権限があります)。この操作は「phpmyadmin」で行いました。

何がうまくいかないのですか?

4

7 に答える 7

17

コンソールで実行

mysql> grant all privileges on *.* to root@localhost identified by 'password' with grant option;
于 2013-02-04T09:35:41.417 に答える
3

username命令は、SQL ステートメントを次のように追加するように指示されています。

GRANT SELECT, INSERT, UPDATE, DELETE, LOCK TABLES ON winestores.* TO username@127.0.0.1 IDENTIFIED by 'password';

これをルートとして実行した後、終了して新しいユーザーで再度ログインしようとしました。ERROR 1045 が発生しました。root として再度ログインし、SQL ステートメントを再発行することで修正しましたusername@localhost。出来た!どうしてか分かりません?'127.0.0.1' と 'localhost' の IP の違いでしょうか???

dev.mysql.comで読んだように。

于 2012-04-16T20:44:30.473 に答える
0

DB は root ユーザーとパスワードを認識しません。phpmyAdmin に移動して別のユーザーとパスワードを作成し、DB に割り当てることができる場合は、それが機能しない場合は作成を試みますが、作成ユーザーでコンソールを作成し、すべてを許可します。

于 2012-04-16T20:42:05.873 に答える