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

使用Django连接MySQL遇NotSupportedError:MariaDB版本过低

解决Django检测到低版本MariaDB的问题

问题核心

你遇到的错误是因为Django实际连接到了系统中旧版本的MariaDB(5.5.65),而非你通过Homebrew安装的高版本实例,导致版本不符合Django的最低要求(MariaDB 10.3+)。

解决方案步骤

1. 定位Homebrew安装的MariaDB路径

执行命令查看Homebrew安装的MariaDB具体位置:

brew info mariadb

输出中会包含类似/usr/local/Cellar/mariadb/[你的版本号]/bin的路径,记下这个路径。

2. 检查当前生效的数据库版本

执行以下命令确认系统当前调用的MariaDB版本:

mysql --version

如果显示的是5.5.65,说明旧版本的数据库优先级更高,需要调整环境变量。

3. 调整环境变量,优先使用Homebrew版本

根据你使用的Shell类型修改配置:

  • Bash用户:编辑~/.bash_profile
echo 'export PATH="/usr/local/Cellar/mariadb/[你的版本号]/bin:$PATH"' >> ~/.bash_profile
source ~/.bash_profile
  • Zsh用户:编辑~/.zshrc
echo 'export PATH="/usr/local/Cellar/mariadb/[你的版本号]/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc

替换命令中的[你的版本号]为brew info mariadb输出里的实际版本号。

4. 验证环境变量生效

重新执行mysql --version,确认输出的是Homebrew安装的高版本(10.3+)。

5. 重启Django服务器

关闭当前运行的Django服务器,重新启动即可解决版本不兼容的错误。

备选方案:直接指定数据库Socket路径

如果环境变量调整无效,可以在Django的settings.py中直接指定Homebrew版本MariaDB的Socket路径,通常路径为/usr/local/var/mysql/mysql.sock或/tmp/mysql.sock,修改数据库配置如下:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': '你的数据库名',
        'USER': '你的数据库用户名',
        'PASSWORD': '你的数据库密码',
        'HOST': 'localhost',
        'PORT': '',
        'OPTIONS': {
            'unix_socket': '/usr/local/var/mysql/mysql.sock',  # 根据实际路径调整
        },
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 19:15:12