Подтвердить что ты не робот

Mysql_exceptions.OperationalError: (1045, "Доступ запрещен для пользователя" root "@" localhost "(с использованием пароля: YES)" )

Я начал работать с django, и вот ошибка на "server server" после настройки "DATABASES" в settings.py

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

Моя настройка .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.

Что не так?

4b9b3361

Ответ 1

Запуск в консоли

mysql> grant all privileges on *.* to [email protected] identified by 'password' with grant option;

Ответ 2

После битвы в течение двух дней я наконец нашел, что не так.                     Целые шаги по настройке базы данных mysql для сайта Django -

Ваш файл settings.py должен выглядеть так:

DATABASES = { 
   'default': {
       'ENGINE': 'django.db.backends.mysql',
       'NAME': 'django_db',   #Name of database you created
       'USER': 'root',        #Username of database you created
       'PASSWORD':'',         #Password of database you created
       'HOST': '',
       'PORT': '',
    } }

Примечание. - Пароль и имя пользователя, приведенные выше, относятся к моему локальному хосту, который вы изменили на свой.

  • создать базу данных в localhost, назовите ее django_db (для этого вы можете использовать командную строку lamp/wamp/Xampp или mysql)

  • Отредактируйте файл settings.py и сохраните требуемый пароль, чтобы открыть свою базу данных в поле DATABASES, как указано ниже в коде.

  • открыть терминал.

  • Если вы используете виртуальную среду, то переключитесь на нее с помощью команды → workon env_name

  • Теперь cd app_name, например. cd mysite

шаги 3, 4 и 5 просто рассказывают, как добраться до папки, в которой файл manage.py найден в вашем приложении.

6.Чтобы проверить, что вы находитесь в правильной команде запуска каталога ls -l. Если вы найдете файл manage.py, тогда все будет правильно.

7.python manage.py migrate

Если у вас есть какая-либо ошибка, например: "Нет модуля с именем MySQLdb" при запуске над командой, вы можете посетить ссылку

8.python manage.py syncdb

9.python manage.py runningerver

10. Вам будет предложено ввести имя пользователя и пароль для администратора Django, предоставить все, что вы хотите открыть администратор сайта Django.

11. Проверьте, что у вас есть несколько таблиц в вашей базе данных в localhost на `http://localhost/phpmyadmin. Вы хорошо пойдете сейчас.

Ответ 3

В инструкции сказано добавить username с оператором SQL как:

GRANT SELECT, INSERT, UPDATE, DELETE, LOCK TABLES ON winestores.* TO [email protected] IDENTIFIED by 'password';

Сделав это как root, я ушел и попытался войти в систему с новым пользователем. Я получил ERROR 1045. Я исправил его, выполнив вход в систему с правами root и повторно выполнив инструкцию SQL, за исключением [email protected]. Это сработало! Я не знаю почему? Может быть, это разница между IP-адресами "127.0.0.1" и "localhost"???

как прочитано на dev.mysql.com.

Ответ 4

Для всех, кто сталкивается с этой проблемой, убедитесь, что пользователь базы данных хост localhost. Если установлено значение %, это не сработает, вам нужно будет добавить localhost или изменить общие параметры безопасности.

Ответ 5

ваша БД не распознает вашего пользователя root и пароль. Если вы можете перейти на phpmyAdmin и попытаться создать другого пользователя и пароль и назначить БД, если это не работает, попробуйте создать консоль с созданием пользователя и выделите все.

Ответ 6

Это происходит, когда ваше имя пользователя или пароль введены неверно.... поэтому еще раз введите имя пользователя и пароль.

Ответ 7

К вашему сведению, если вы используете XAMPP, перейдите непосредственно в localhost/phpmyad> Права, чтобы изменить это