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

Django切换MySQL启动报1049 Unknown database 'django'错误

报错根因

错误码1049是MySQL原生抛出的错误,含义是你Django配置中NAME字段指定的django数据库,在当前连接的MySQL实例中不存在。

注意:和SQLite文件不存在时自动创建文件的逻辑不同,Django连接MySQL时不会自动创建指定的数据库,只会在连接到已存在的数据库后执行表结构迁移操作。

修复步骤
  • 登录本地3306端口对应的MySQL服务,使用你配置中填写的myusername账号,确认账号可正常连接。
  • 手动创建项目使用的数据库,推荐指定utf8mb4字符集避免后续特殊字符存储异常,执行SQL:
CREATE DATABASE django CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
  • 执行SHOW DATABASES;确认返回结果中存在django库后,回到Django项目根目录执行迁移命令:
python manage.py migrate
  • 迁移执行完成后再启动服务,报错即可消失。
仍报错时的排查方向
  • 确认本地没有运行多个MySQL实例:比如同时存在本地安装的MySQL、Docker容器启动的MySQL、集成环境自带的MariaDB等,避免3306端口对应错误的服务实例,导致你在A实例建了库,Django连到了B实例。
  • 确认账号权限:检查myusername账号是否拥有django库的读写权限,权限不足时执行以下SQL授权:
GRANT ALL PRIVILEGES ON django.* TO 'myusername'@'127.0.0.1' IDENTIFIED BY 'mypassword';
FLUSH PRIVILEGES;
  • 校验名称一致性:Linux环境下MySQL默认对库名、表名大小写敏感,确保你创建的数据库名和配置中NAME字段的值完全一致,不要出现大小写差异。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 04:15:31