Има подобни въпроси на този, но не намирам нищо, което да реши проблема ми.
Работя по проект на django и направих промяна в базата данни и искам да мигрирам промяната на базата данни към производство. И така тичам
python manage.py migrate
Но аз получавам тази грешка
OperationalError: (1045, "Access denied for user "root"@"localhost" (using password: NO)")
От това, което разбирам, не трябва да имам разрешение за изпълнение на миграцията, но се опитах
grant all privileges on *.* to root@localhost identified by "password" with grant option;
и различни комбинации от тях, но без резултат.
В моя local_settings.py имам
DATABASES = {
"default": {
"ENGINE": "django.db.backends.mysql",
"USER": "root",
"PASSWORD": "password",
"HOST": "127.0.0.1",
"NAME": "stratinvnet",
},
}
Опитах се да се променя 127.0.0.1
да се localhost
и това изглежда няма значение. Аз също се опитах да премахна паролата от DATABASES
обект.
За това, което си струва, ето и моето GRANTS
таблица в mysql.
GRANT ALL PRIVILEGES ON *.* TO "root"@"localhost" IDENTIFIED BY PASSWORD "*5FE8B16533FAE91D61522C9A6811F3F709147255" WITH GRANT OPTION |
| GRANT PROXY ON ""@"" TO "root"@"localhost" WITH GRANT OPTION
и тук е потребителската таблица.
user | host | password |
+------------+-----------+-------------------------------------------+
| root | localhost | *5FE8B16533FAE91D61522C9A6811F3F709147255 |
| root | 127.0.0.1 | |
| root | ::1 | |
| | localhost | |
| root | % | *944B67F866A66B9DDD96024A97EBFDC886FC41F6 |
| phpmyadmin | localhost | *5FE8B16533FAE91D61522C9A6811F3F709147255 |
Отговори:
0 за отговор № 1изглежда, че използвате файл с чорапи за mysql, опитайте да замените:
"HOST": "127.0.0.1",
с тази:
"HOST": "/var/lib/mysql/mysql.sock", # "HOST": "localhost",