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

Django项目通过XAMPP连接localhost/phpmyadmin数据库失败求助

解决Django连接XAMPP MySQL时的1044权限错误

你遇到的核心问题是Django没有使用正确的数据库用户访问djangoproject数据库,错误提示里的''@'localhost'说明当前是匿名用户发起的请求,自然会被MySQL的权限机制拒绝。结合你提到的phpMyAdmin用root空密码的情况,咱们一步步来解决:

1. 修正Django项目的数据库配置

首先打开项目根目录下的settings.py,找到DATABASES配置块,确保它正确指向你的MySQL数据库,并且填写了正确的用户名和空密码:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'djangoproject',  # 要确保已经在phpMyAdmin里手动创建了这个数据库
        'USER': 'root',  # XAMPP默认的MySQL用户名
        'PASSWORD': '',  # 空密码,注意是双引号空字符串,不要写null
        'HOST': 'localhost',
        'PORT': '3306',  # XAMPP MySQL默认端口,一般无需修改
    }
}

⚠️ 提醒:Django不会自动帮你创建数据库,一定要先在phpMyAdmin里手动创建好djangoproject这个库再执行迁移命令。

2. 确认MySQL root用户的数据库权限

虽然XAMPP的root用户默认拥有全局权限,但空密码的root偶尔会出现权限覆盖不全的情况,你可以在phpMyAdmin的SQL执行框里运行以下语句:

GRANT ALL PRIVILEGES ON djangoproject.* TO 'root'@'localhost';
FLUSH PRIVILEGES;

这条语句会明确给root用户授予djangoproject数据库的所有操作权限,执行后刷新权限确保设置生效。

3. 处理phpMyAdmin顶部的"A user..."提示

这个提示一般是因为phpMyAdmin的配置文件没有正确指定有权限的登录用户。你可以打开XAMPP安装目录下的phpMyAdmin/config.inc.php,找到对应配置项修改为:

$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '';  # 同样设置为空字符串

保存配置后重启XAMPP的Apache和MySQL服务,再刷新phpMyAdmin页面,顶部的提示应该就会消失了。

最后回到命令提示符,重新运行python manage.py migrate或者你之前执行的操作,应该就能正常连接数据库了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 07:39:04