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',

相关文章

功能概要:(目前已实现功能)公共展示部分:1.网站首页展示...
大体上把Python中的数据类型分为如下几类: Number(数字) ...
开发之前第一步,就是构造整个的项目结构。这就好比作一幅画...
源码编译方式安装Apache首先下载Apache源码压缩包,地址为ht...
前面说完了此项目的创建及数据模型设计的过程。如果未看过,...
python中常用的写爬虫的库有urllib2、requests,对于大多数比...