Django后端开发——mysql数据库连接遇到的问题及解决


参考资料

stackflow帖子:https://stackoverflow.com/questions/39281594/error-1698-28000-access-denied-for-user-rootlocalhost


问题描述

报错:

"Access denied for user 'root'@'localhost'"

数据库拒绝root用户的连接


情况描述

settings.py中关于数据库的配置:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'mysite3',
        'USER': 'root',
        'PASSWORD': '123456',
        'HOST': '127.0.0.1',
        'PORT': '3306'
    }
}

可以看到root用户的密码为123456
但是在mysql数据库里面查看用户信息,root的密码为空
这样的不匹配导致连接失败


解决方案

step1:管理员权限进入mysql,重置root密码

sudo mysql -u root -p
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';

step2:重启mysql服务器

sudo service mysql stop
sudo service mysql start

之前尝试过重置密码,但是没有效果,实际上是需要重启服务器才能生效

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>