MySQL 连接器/Python 发行说明  / MySQL 连接器/Python 2.1 中的更改  /  MySQL Connector/Python 2.1.8 的变化(2018-08-31,全面上市)

MySQL Connector/Python 2.1.8 的变化(2018-08-31,全面上市)

已知限制:启用 C 扩展的 MySQLConnection.cmd_change_user() 不会与更改后的用户建立连接。实例化一个新的 MySQLConnection() 连接作为解决方法。

添加或更改的功能

  • MySQL 连接器/Python 现在支持连接到使用 caching_sha2_password身份验证插件的 MySQL 帐户(请参阅缓存 SHA-2 可插入身份验证)。这需要 MySQL 服务器版本 8.0.3 或更高版本。它还需要使用安全连接,因为连接器/Python 不支持密码交换的 RSA 加密。

修正错误

  • 在 Windows 上,32 位 MSI 安装失败。注册表项路径已更新,以允许执行并通过 CEXT 先决条件检查。(错误#28395599,错误#28464866)

  • 在纯 Python 模式下,使用default_authentication_plugin = caching_sha2_password 连接到 MySQL 服务器 会失败,即使对于不使用caching_sha2_password的帐户也是如此,因为 Python 连接器不知道身份验证插件。(漏洞#27371245)

  • 使用准备好的语句时,字符串列作为字节数组而不是字符串返回。返回值现在是使用连接charset (默认为“utf8”)解码的字符串,或者如果此转换失败则作为字节数组。(漏洞#27364914)

  • 无法连接到配置为使用 TLSv1 以外的 TLS 版本(例如 TLSv1.1 和 TLSv1.2)的 MySQL 服务器,并且失败并出现“[SSL:WRONG_VERSION_NUMBER] 错误的版本号”错误。这是因为连接器限制连接使用 TLSv1。

    此外,还添加了 tsl_version 支持。(漏洞 #26484601,漏洞 #87121)

  • JSON_TYPE() 的结果作为字节数组而不是字符串返回。返回值现在是使用连接charset(默认为“utf8”)解码的字符串,或者如果此转换失败则作为字节数组。(缺陷 #24948205,缺陷 #83516)

  • JSON 整数值在 Python 中被转换为字节而不是整数。(错误#24948186,错误#83513)