python – 使用密码拒绝用户’root’@’localhost’访问:否
作者:互联网
这个问题有类似的问题,但我找不到任何能解决我问题的问题.
我正在研究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对象中删除密码.
对于它的价值,这是我在mysql中的GRANTS表.
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 |
解决方法:
好像你使用socks文件for mysql,尝试替换:
'HOST': '127.0.0.1',
有了这个:
'HOST': '/var/lib/mysql/mysql.sock', # 'HOST': 'localhost',
标签:python,mysql,django,django-1-5 来源: https://codeday.me/bug/20190711/1430064.html