2017-10-07 23 views
1

「python manage.py makemigrations」コマンドを使用したとき"python manage.py runserver")、このエラーを投げました。そして、ユーザーの権限を確認しました。 コードと結果はfllowです。django.db.utils.OperationalError :(「root '@' localhost '(パスワードを使用して)ユーザーのアクセスが拒否されました」)

mysql> select host,user from mysql.user; 
+-----------+---------------+ 
| host  | user   | 
+-----------+---------------+ 
| %   | root   | 
| %   | zhuxin  | 
| localhost | mysql.session | 
| localhost | mysql.sys  | 
| localhost | root   | 
| localhost | zhuxin  | 
+-----------+---------------+ 


mysql> show grants for 'zhuxin'@'%'; 
+---------------------------------------------------------------+ 
| Grants for [email protected]%           | 
+---------------------------------------------------------------+ 
| GRANT ALL PRIVILEGES ON *.* TO 'zhuxin'@'%' WITH GRANT OPTION | 
| GRANT ALL PRIVILEGES ON `blogdb`.* TO 'zhuxin'@'%'   | 
+---------------------------------------------------------------+ 

mysql> show grants for 'root'@'%'; 
+--------------------------------------------------+ 
| Grants for [email protected]%        | 
+--------------------------------------------------+ 
| GRANT USAGE ON *.* TO 'root'@'%'     | 
| GRANT ALL PRIVILEGES ON `blogdb`.* TO 'root'@'%' | 
+--------------------------------------------------+ 

私はそれを解決するためにすべてを試しましたが、使用しません。

答えて

1

project settings.pyを変更する必要があります。データベース

DATABASES = { 
    'default': { 
     'ENGINE': 'django.db.backends.mysql', 
     'NAME': 'myproject', 
     'USER': 'root', 
     'PASSWORD': 'rootpassword', 
     'HOST': 'localhost', 
     'PORT': '', 
    } 
} 
+0

ためUSERPASSWORDを提供そうそう、私はこのようなsettings.pyを変更しました:データベースは= { 'デフォルト':{ 'ENGINE': 'django.db.backends.mysql' 'NAME': 'blogdb' 'USER': 'ルート' 'PASSWORD': '1234' 'HOST': ''、 'PORT': ''、 }}。しかし、エラーはまだ投げられている – Krimony

+0

@朱朱鑫、あなたは、このユーザーとパスワードをmysqlサーバーに認証することができる場合はチェックしたことがありますか? –

+0

Thks。わかった !私は、 "localhost"を "127.0.0.1"に変更しました。しかし、私は理由を知らない。たぶんあなたが私がユーザーを混乱させたと言っているようなものです。 – Krimony

関連する問題