插件窝 干货文章 Django 项目运行时报错“django.core.exceptions.ImproperlyConfigured: 'django.db.backends.mysql' isn't an available database backend”,如何解决?

Django 项目运行时报错“django.core.exceptions.ImproperlyConfigured: 'django.db.backends.mysql' isn't an available database backend”,如何解决?

MySQL 驱动 Django pymysql 299    来源:    2025-04-01

这个错误表明 Django 无法识别 MySQL 数据库后端。以下是解决方案:

主要原因

  1. 未安装 MySQL 客户端驱动
  2. Django 配置中缺少必要组件

解决方案

  1. 安装 MySQL 客户端驱动 (选择其一即可)

    # MySQL 官方驱动
    pip install mysqlclient
    
    # 或纯 Python 实现的替代方案
    pip install pymysql
    
  2. 如果使用 pymysql,需要在项目 __init__.pysettings.py 顶部添加:

    import pymysql
    pymysql.install_as_MySQLdb()
    
  3. 检查 DATABASES 配置 (确保格式正确)

    DATABASES = {
       'default': {
           'ENGINE': 'django.db.backends.mysql',
           'NAME': 'your_db_name',
           'USER': 'your_username',
           'PASSWORD': 'your_password',
           'HOST': 'localhost',  # 或数据库服务器地址
           'PORT': '3306',       # 默认 MySQL 端口
       }
    }
    
  4. 验证依赖版本兼容性

    • 确保 Django 版本与 MySQL 驱动兼容
    • 检查 Python 版本是否支持所选驱动
  5. 其他检查

    • 确认 MySQL 服务正在运行
    • 检查数据库连接参数是否正确
    • 确保有足够的数据库权限

补充说明

  • mysqlclient 是官方推荐驱动,性能更好但安装可能需要系统依赖
  • pymysql 是纯 Python 实现,更易安装但性能稍逊

安装完成后建议重启 Django 开发服务器使更改生效。如果问题仍然存在,请提供完整的错误堆栈和 Django 版本信息以便进一步诊断。