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

Django迁移SQLite到MySQL遇http.dll插件加载错误求助

Django迁移MySQL出现2059错误(http.dll找不到)的解决方法

这个错误的核心是MySQL无法加载http认证插件,以下是针对性的解决步骤:

  • 修正数据库连接的认证插件配置
    绝大多数Django项目不需要使用http认证插件,这不是MySQL的默认插件。修改settings.py中的数据库配置,将认证插件替换为MySQL默认的类型:

    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',
            'NAME': '你的数据库名',
            'USER': '你的数据库用户',
            'PASSWORD': '你的密码',
            'HOST': 'localhost',
            'PORT': '3306',
            'OPTIONS': {
                # MySQL 5.7及以下用mysql_native_password,8.0+用caching_sha2_password
                'auth_plugin': 'mysql_native_password',
            },
        }
    }
    
  • 若确实需要http插件,先在MySQL服务器安装
    如果你有特殊场景必须使用http认证插件,登录MySQL服务器执行以下命令安装:

    INSTALL PLUGIN http SONAME 'http.dll';
    

    注意:该插件仅用于特定HTTP认证场景,普通Web项目无需启用。

  • 验证MySQL与依赖版本兼容性
    确认你的MySQL服务器版本:

    • MySQL 8.0及以上默认使用caching_sha2_password
    • MySQL 5.7及以下默认使用mysql_native_password
      你的mysqlclient 2.1.1、Python 3.10.2、Django 4.0.5版本组合是兼容的,只需匹配对应版本的认证插件即可。
  • 排查系统PATH环境变量
    如果http.dll已存在但无法被找到,将MySQL安装目录下的lib文件夹(例如C:\Program Files\MySQL\MySQL Server 8.0\lib)添加到系统PATH环境变量,然后重启终端和Python运行环境。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 09:45:45