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

文章目录


参考资料

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


问题描述

报错:

c 复制代码
"Access denied for user 'root'@'localhost'"

数据库拒绝root用户的连接


情况描述

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

c 复制代码
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密码

c 复制代码
sudo mysql -u root -p
c 复制代码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';

step2:重启mysql服务器

c 复制代码
sudo service mysql stop
sudo service mysql start

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

相关推荐
七度黑光2 小时前
用 openclaw 给故障复盘打分:质量审核自动化实践
运维·服务器·前端·数据库·自动化
qq_283720052 小时前
MySQL技巧(九): Binlog 完整格式解析(ROW 模式,默认)
mysql·binlog·数据恢复
华科易迅3 小时前
Spring 事务(注解)
java·数据库·spring
Java面试题总结3 小时前
MySQL篇 索引失效
数据库·mysql
last demo3 小时前
mysql
运维·数据库·mysql·oracle
kevin_cat5 小时前
oracle 扩展表空间
数据库·oracle
花间相见5 小时前
【MySQL面试题】—— MySQL面试高频问题汇总:从原理到实战,覆盖90%考点
数据库·mysql·面试
高梦轩6 小时前
MySQL 数据库备份与恢复
数据库·oracle
一直都在5726 小时前
Redis(二)
数据库·redis·缓存
TDengine (老段)6 小时前
TDengine IDMP 工业数据建模 —— 属性
大数据·数据库·人工智能·时序数据库·tdengine·涛思数据