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

Django 2.2.6连接MySQL 8数据库失败,多种尝试仍未解决

解决Django 2.2.6连接MySQL 8数据库的常见问题

我太懂你这种折腾半天连不上的挫败感了——Django 2.x和MySQL 8的组合确实有几个容易踩的坑,咱们一个个来排查解决:

方案1:确保mysqlclient真正生效

你说已经装了mysqlclient 1.4.4,但Django还是提示找不到MySQLdb,大概率是Python环境没正确识别到这个包,或者安装时缺系统依赖:

  • 先检查当前Python环境能不能导入mysqlclient:
    打开终端输入python,然后执行import MySQLdb,如果报错,说明包没装对环境。

    • 如果是Linux/macOS,先装系统依赖:
      # Ubuntu/Debian
      sudo apt-get install python3-dev default-libmysqlclient-dev build-essential
      # macOS(用brew)
      brew install mysql-connector-c
      
      然后重新安装mysqlclient:pip install --force-reinstall mysqlclient
    • 如果是Windows,直接下载对应Python版本的mysqlclient whl包(匹配你的Python版本和系统位数),用本地安装:pip install mysqlclient-1.4.4-cp37-cp37m-win_amd64.whl
  • 确认导入成功后,保持settings.py的数据库配置不变,重新运行python manage.py runserver。

方案2:用pymysql绕过版本检查

如果还是搞不定mysqlclient,用pymysql的话,Django 2.2会强制检查mysqlclient版本,咱们可以手动修改pymysql的版本信息来绕过:

在项目根目录的__init__.py(和settings.py同目录)里添加:

import pymysql
# 把版本改成Django要求的1.3.13+
pymysql.version_info = (1, 4, 6, 'final', 0)
pymysql.install_as_MySQLdb()

然后保持数据库配置不变,再启动服务,这个方法我自己遇到版本报错时亲测有效。

方案3:正确配置mysql-connector-python

你之前用mysql.connector.django报错,是因为没装对应的驱动包,而且MySQL 8默认的认证插件需要额外配置:

  1. 先安装驱动:
    pip install mysql-connector-python
    
  2. 修改settings.py的数据库配置:
    DATABASES = {
        'default': {
            'ENGINE': 'mysql.connector.django',
            'NAME': 'portfoliodb',
            'USER': 'c**********s',
            'PASSWORD': 'XXX',
            'HOST': 'localhost',
            'PORT': '3306',
            'OPTIONS': {
                'auth_plugin': 'mysql_native_password',
            },
        }
    }
    
    这里加auth_plugin是因为MySQL 8默认用caching_sha2_password,部分驱动不兼容,改成原生密码认证就能解决连接问题。

最后几个必查点

  • 确认MySQL服务在3306端口运行,用mysql -u c**********s -p能正常登录,并且portfoliodb数据库已经创建,该用户有这个库的读写权限。
  • 检查你用的Python环境是不是激活了虚拟环境(如果用了的话),避免装包到全局环境但项目用的是虚拟环境。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:09:03