Documentation Home
MySQL 连接器/ODBC 发行说明  / MySQL 连接器/ODBC 版本 8.0 中的更改  /  MySQL Connector/Python 8.0.22 的变化(2020-10-19,全面上市)

MySQL Connector/Python 8.0.22 的变化(2020-10-19,全面上市)

添加或更改的功能

  • 添加了 Django 3.0 支持,同时保持与 Django 2.2 的兼容性。使用 Python 2.7 删除了对 Django 1.11 的支持。(错误#91699、错误#99069、错误#28367300、错误#30835272)

  • 通过删除旧实现的工件、改进调试以及现在静态链接 C 扩展来重构连接器/Python 构建系统。这也公开了 distutils 命令,以允许最终用户构建包。(错误#79766、错误#81203、错误#81242、错误#87493、错误#99923、错误#23194976、错误#23208553、错误#26660893、错误#31529348)

  • 以前,不支持客户端 mysql_clear_password身份验证插件。现在,允许通过在客户端使用 mysql_clear_password以及任何需要明文密码的服务器端插件来发送不经过散列或加密的密码,例如 LDAP 可插入身份验证。如果请求mysql_clear_password插件但连接既未加密也未使用 Unix 域套接字,连接器/Python 将返回异常 。有关使用信息,请参阅 客户端明文可插入身份验证

  • Windows 和 Linux 现在支持使用 MySQL Enterprise Edition SASL LDAP 身份验证插件建立的连接,但 macOS 不支持。Connector/Python实现 SCRAM-SHA-1了SASL认证协议的认证方式。

  • 新的压缩算法连接选项设置了协商和选择支持的算法以通过 X 协议连接发送压缩数据的顺序。可用的算法由服务器指定,目前包括:lz4_message、deflate_stream 和 zstd_stream。支持的算法别名是 lz4、deflate 和 zstd。忽略未知或不受支持的值。

    用法示例:

    session = mysqlx.get_session({
        "host": "localhost", 
        "port": 33060,
        "user": "root", 
        "password": "s3cr3t",
        "compression": "required",
        "compression-algorithms": ["lz4', "zstd_stream"]
    })
  • 为了增强现有 allow_local_infile连接字符串选项的安全性,新allow_local_infile_in_path选项允许将本地数据加载限制到位于此指定目录中的文件。

  • 纯 Python 和 C 扩展实现被组合到一个包中;这适用于 DEB 和 RPM 包。

修正错误

  • 修复了使用 Decimal 数据类型时 C 扩展实现中的内存泄漏。感谢 Kan Liyong 的补丁。(缺陷 #31335275,缺陷 #99517)

  • protoc 生成的 Python 模块中缺少版权和许可证标头。(缺陷号 31267800)

  • 在集合上创建索引时,如果指定了排序规则但字段不是 TEXT 类型,则会生成错误消息,其中包含错误的字段类型。它总是将其报告为 GEOJSON。(漏洞 #27535063)

  • C 扩展实现中缺少重置连接命令,这是重用池中连接所必需的。因此,C 扩展实现现在允许使用连接池。(错误#20811567,错误#27489937)