Django连接MySQL遇OperationalError:使用未定义用户PEPE连接被拒
问题解决:Django连接MySQL时意外使用未知用户PEPE
核心原因
你的settings.py里数据库配置的键名不符合Django的规范,框架无法识别DATABASE_USER、DATABASE_PASSWORD这类带自定义前缀的键,因此会自动使用默认值尝试连接:
- 默认用户名会取当前操作系统的登录用户(也就是报错里的
PEPE) - 默认密码为空,所以报错提示
using password: NO
修复步骤
将settings.py中的数据库配置键名改为Django官方要求的标准名称:
DATABASES = { "default": { "ENGINE": "django.db.backends.mysql", "NAME": "db_python", "USER": "root", # 移除DATABASE_前缀 "PASSWORD": "abc", # 移除DATABASE_前缀 "HOST": "127.0.0.1", # 移除DATABASE_前缀 "PORT": "3306", # 移除DATABASE_前缀 } }
验证说明
修改后重启Django服务,或重新进入Python Shell测试数据库连接,此时框架会正确读取USER和PASSWORD配置,使用root用户建立数据库连接。
内容的提问来源于stack exchange,提问作者Yusniel Cardenas
相关产品推荐
相关产品推荐

