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

Amazon Linux 2能否安装MySQL ODBC Driver 8及解决认证插件报错?

在Amazon Linux 2上解决pyodbc连接MySQL的认证插件错误及驱动升级方法

问题背景

在Amazon Linux 2环境下,使用pyodbc搭配系统自带的mysql-connector-odbc 5.2.5驱动连接MySQL时,触发认证插件加载失败错误:

pyodbc.OperationalError: ('08004', "[08004] [unixODBC][MySQL][ODBC 5.2(w) Driver]Authentication plugin 'caching_sha2_password' cannot be loaded: /usr/lib64/mysql/plugin/caching_sha2_password.so: cannot open shared object file: No such file or directory (2059) (SQLDriverConnect)")

升级Amazon Linux至2.0.20230207.0版本后,报错变为:

pyodbc.OperationalError: ('08004', "[08004] [unixODBC][MySQL][ODBC 5.2(w) Driver]Authentication plugin 'sha256_password' cannot be loaded: /usr/lib64/mysql/plugin/sha256_password.so: cannot open shared object file: No such file or directory (2059) (SQLDriverConnect)")

原因分析

MySQL 8.0及以上版本默认采用caching_sha2_password或sha256_password作为用户认证方式,但系统自带的mysql-connector-odbc 5.2.5版本不支持这些新认证插件,导致驱动无法加载对应文件。

可行方案:手动安装新版MySQL ODBC驱动

Amazon Linux 2完全支持手动安装新版MySQL ODBC驱动(如8.0.x系列),具体操作步骤如下:

  1. 卸载旧版驱动
    先移除系统自带的旧版ODBC驱动:

    sudo yum remove mysql-connector-odbc -y
    
  2. 安装依赖包
    安装驱动运行及编译所需的依赖组件:

    sudo yum install unixODBC unixODBC-devel -y
    

    若系统缺少mysql-community-devel包,需先添加MySQL官方YUM源(可通过MySQL官网获取对应EL7架构的源配置包),再执行安装:

    sudo yum install mysql-community-devel -y
    
  3. 下载并安装新版驱动
    前往MySQL官方网站,下载对应Amazon Linux 2(EL7 x86_64架构)的8.0.x版本ODBC驱动RPM包,然后执行本地安装:

    sudo rpm -ivh /path/to/mysql-connector-odbc-8.0.x-1.el7.x86_64.rpm
    
  4. 验证驱动安装
    执行以下命令确认驱动已成功注册:

    odbcinst -j
    

    正常输出中应包含MySQL ODBC 8.0 Unicode Driver或MySQL ODBC 8.0 ANSI Driver的配置条目。

  5. 更新连接代码
    在pyodbc连接逻辑中,指定使用新版驱动:

    import pyodbc
    conn = pyodbc.connect(
        "DRIVER={MySQL ODBC 8.0 Unicode Driver};"
        "SERVER=你的MySQL主机地址;"
        "DATABASE=目标数据库名;"
        "UID=数据库用户名;"
        "PWD=数据库密码;"
    )
    

临时替代方案:修改MySQL用户认证方式

若暂时无法升级驱动,可将目标MySQL用户的认证方式改为旧版驱动支持的mysql_native_password:

ALTER USER '你的用户名'@'允许访问的主机' IDENTIFIED WITH mysql_native_password BY '你的密码';
FLUSH PRIVILEGES;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 23:27:45