You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django为何选用操作系统用户名而非settings配置文件中的root用户?

问题解决:Django连接MySQL时使用操作系统用户名而非配置的root用户

问题原因

你的MySQL数据库配置里的键名写错了——Django的数据库配置参数是严格区分大小写的,你用了"Name"和"User",但正确的键名应该是小写的"NAME"和"USER"。因为配置项不匹配,Django没有读取到你指定的root用户名,就会默认使用当前操作系统的用户名(也就是pankaj)尝试连接MySQL,导致出现权限拒绝错误。

修正后的配置

把配置里的键名改成小写的标准格式:

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

验证步骤

  • 保存修改后的settings.py文件
  • 重新运行python manage.py runserver,此时Django会使用配置的root用户连接MySQL,问题即可解决

内容的提问来源于stack exchange,提问作者Pankaj

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 12:22:04