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

MySQL Connector/Python 2.1.7 的变化(2017-08-18,全面上市)

添加或更改的功能

  • 连接器/Python 现在与 Django 1.11 兼容。感谢 Brian Tyndall 为部分工作提供了补丁。(错误#25965922、错误#86105、错误#26257499、错误#86652)

  • 如果服务器支持加密连接,连接器/Python 现在默认尝试使用 TLS 进行连接。这也添加了一个名为的布尔选项ssl_disabledFalse默认情况下。(错误#21947091、错误#22496920、错误#78707、错误#79825)

修正错误

  • 准备好的语句不适用于 MySQL 8.0 服务器。(缺陷号 26376334)

  • 使用连接字符集utf8mb4,多行插入操作失败并出现错误 LookupError: unknown encoding: utf8mb4。感谢 Imre Fitos 提供的补丁。(错误#24659561、错误#23021033、错误#80535、错误#80897、错误#82948)

  • 如果用户名或密码无效,则创建Connection实例 use_pure=True可能会导致底层套接字不关闭。感谢 Vilnis Termanis 提供补丁。(漏洞 #24342757,漏洞 #82324)

  • 对于使用 创建的游标named_tuple=TrueMySQLCursorNamedTuple对象可能会泄漏内存。感谢 Piotr Jurkiewicz 提供此修复程序所基于的补丁。(缺陷 #22880163,缺陷 #80621)

  • 如果用于执行 INSERT插入 Unicode 字符串的语句,C 扩展会泄漏内存。(缺陷 #22825962,缺陷 #79887)

  • escape_string()方法泄漏内存。(缺陷 #22810810,缺陷 #79903)

  • 在 Python 2.x 中,对于从 unicode 序列化的 bytestring 的调用encode('utf8') ,Python 尝试使用“ascii”编解码器解码字符串并使用“utf8”对其进行编码。结果是包含非 ASCII 字符的字节串编码失败。(错误#22564149,错误#79993)