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

Django中settings.py配置MySQL数据库Schema报错原因咨询

Django MySQL数据库配置错误原因解析

问题场景

在Django的settings.py中配置MySQL数据库连接时,为设置Schema添加了如下配置:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'OPTIONS': {
            'options': '-c search_path=xxx',
        },
        'NAME': 'xxx', 
        'USER': 'xxx',
        'PASSWORD': 'xxx',
        'HOST':'localhost',
        'PORT':'3306',
   }
}

触发了错误:

connection = Database.connect(**conn_params)
TypeError: Connection.__init__() got an unexpected keyword argument 'options'

错误原因

  1. 参数概念混淆:search_path是PostgreSQL用于指定Schema搜索路径的专属参数,MySQL中不存在这个概念。MySQL里的“Schema”本质就是数据库本身,直接通过NAME配置项指定数据库名即可,无需额外设置类似search_path的参数。
  2. 非法连接参数:Django的MySQL数据库后端会把OPTIONS内的配置直接传递给底层MySQL客户端驱动(如mysqlclient),但options并不是该驱动初始化连接时支持的合法参数,因此底层连接函数会抛出“收到意外关键字参数”的错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 07:43:13