MySQL for Visual Studio 发行说明  / MySQL for Visual Studio 1.2 的变化  /  MySQL Connector/Python 1.2.1 的变化(2014-03-31,发布候选)

MySQL Connector/Python 1.2.1 的变化(2014-03-31,发布候选)

添加或更改的功能

  • Connector/Python 现在允许指定存储过程参数的类型。为此,将参数指定为由参数值和类型组成的两项元组。有关详细信息,请参阅 MySQLCursor.callproc() 方法。(错误#71124,错误#17965619)

  • 如果不显式提供密钥和证书,则无法启动 SSL 会话。现在可以仅使用 ssl_ca指向 CA 证书文件的连接参数连接到 MySQL 服务器。这意味着ssl_keyssl_cert连接参数是可选的。但是,当给出其中一个时,必须同时给出或AttributeError引发 an。(缺陷 #69418,缺陷 #17054848)

  • Connector/Python 现在支持 MySQL 5.6 中的身份验证插件。这包括mysql_clear_passwordsha256_password,两者都需要 SSL 连接。该sha256_password插件无法在非 SSL 连接上工作,因为连接器/Python 不支持 RSA 加密。

    connect()方法现在支持 auth_plugin可用于强制使用特定插件的参数。例如,如果服务器配置为sha256_password默认使用并且您想要连接到使用 进行身份验证的帐户,请 mysql_native_password使用 SSL 连接或指定 auth_plugin='mysql_native_password'。(缺陷 #68054,缺陷 #16217765)

  • connect()方法现在接受一个 failover参数,该参数提供在连接失败时用于服务器故障转移的信息。参数值是元组或字典列表(元组是首选,因为它是不可变的)。每个字典都包含故障转移序列中给定服务器的连接参数。允许的字典值为: user, password, host, port, unix_socket, database, pool_name, pool_size

  • 连接器/Python 现在使应用程序能够指定连接到 Fabric 时要使用的其他信息:用户名和凭据,以及用于建立 SSL 连接的信息。该方法的fabric字典参数connect()接受这些附加值:username, password, ssl_ca, ssl_cert, ssl_key。只ssl_ca需要该值即可建立 SSL 连接。如果给出ssl_certssl_key,则两者都必须指定。

  • 连接器/Python 现在可以向 Fabric 报告访问 MySQL 实例时发生的错误。该信息可用于更新后备存储并触发故障转移操作,前提是该实例是主服务器并且 Fabric 已从不同的连接器收到足够数量的问题报告。

    • 该方法的fabric字典参数 connect()现在接受一个 report_errors值。它的默认值是 False;将值传递 True给 Fabric 以启用错误报告。

    • 要定义要报告的错误,请使用以下 extra_failure_report()函数:

      from mysql.connector.fabric import extra_failure_report
      extra_failure_report([error_code_0, error_code_1, ...])
  • 一个新的MySQLConnectionreset_connection()方法使应用程序能够将 a 发送COM_RESET_CONNECTION 到服务器。该方法类似于 mysql_reset_connection()MySQL 5.7.3中新增的C API函数。

    一个新的MySQLConnectionreset_session()方法类似于 reset_connection()但退回到对不支持的旧服务器使用重新验证 COM_RESET_CONNECTION。有关详细信息,请参阅 MySQLConnection.cmd_reset_connection() 方法MySQLConnection.reset_session() 方法

修正错误

  • MySQLConnection.autocommit属性未能设置属性的 值self._autocommit。(漏洞 #18172769)

  • 使用 RPM 包卸载连接器/Python 无法删除fabric文件夹。(漏洞 #18143073)

  • 全局MYSQL_FABRIC_PORT变量从 8080 更改为 32274 以匹配 Fabric 中所做的端口更改。(漏洞 #18075339)

    参考资料:另请参阅:错误 #70954。

  • 对于 Fabric 连接,忽略用户指定的任何connect_attempts 和值。connect_delay(漏洞 #18055719)

  • tables对于 Fabric 分片操作,当为表提供的连接属性没有分片信息可用 时,Connector/Python 会引发错误 。这现在导致 DatabaseError(with errorcode.ER_BAD_TABLE_ERROR) 提到该表是未知的。(漏洞#18047794)

  • set_property()对于 Fabric 操作,当连接属性值的类型错误时(例如,当 tables属性不是元组或列表时) 会引发不正确的异常 。set_property()现在正确地提出了一个 ValueError。(错误号 18047758)

  • 对于 Fabric 操作,默认模式应该是读/写但被设置为只读。(漏洞 #18047591)

  • 尝试连接到 MySQL Fabric 管理的服务器时尝试之间的延迟未得到遵守。(错误#71905,错误#18335432)

  • Fabric 已将转储功能重命名为名为dump. 因此,Connector/Python 现在使用新函数 dump.sharding_information, dump.fabric_nodes,以及 dump.servers. (错误 #71124,错误 #17965619)

  • MySQLCursor.executemany()UnicodeDecodeError当参数中存在非 ASCII 字符并且操作是 Python 2 的 Unicode 实例时会导致问题 seq_params。现在通过根据当前连接字符集对操作进行编码来纠正此问题。(漏洞 #69067,漏洞 #18220593)