如何用Python3连接MariaDB5.5.52?Django迁移遇版本不兼容报错
解决Django 4.1.3连接MariaDB 5.5.52的迁移报错问题
方案一:降级Django到兼容版本
Django 3.2.x是长期支持版本,完全兼容MariaDB 5.5,操作步骤:
- 卸载当前Django:
pip uninstall django - 安装指定兼容版本:
pip install django==3.2.25(选3.2系列最新版,带安全更新) - 重新执行迁移命令:
python manage.py migrate
方案二:绕过Django的版本检测(仅应急,不推荐生产环境用)
这种方法能暂时解决报错,但可能引发未知兼容性问题,谨慎使用:
- 找到Python环境中Django安装目录下的
django/db/backends/mysql/base.py文件 - 定位到版本检测的代码段,通常是这样:
if version < (10, 3): raise NotSupportedError("MariaDB 10.3 or later is required (found %d.%d.%d)" % version)
- 直接注释掉这段抛出异常的代码,或者把版本判断条件改成
version < (5, 5) - 保存文件后重新执行
python manage.py migrate
额外确认:Python 3.8与MariaDB 5.5的连接配置
你当前用的PyMySQL 1.0.2完全兼容Python3.8和MariaDB5.5,只需确保settings.py里的数据库配置正确:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': '你的数据库名', 'USER': '数据库用户名', 'PASSWORD': '数据库密码', 'HOST': 'localhost', 'PORT': '3306', 'OPTIONS': { 'charset': 'utf8mb4', 'use_unicode': True, }, } }
注意:MariaDB5.5建议用utf8mb4字符集,避免Unicode字符存储问题。
内容的提问来源于stack exchange,提问作者guangmin lv
相关产品推荐
相关产品推荐

