Connector/Python 现在允许指定存储过程参数的类型。为此,将参数指定为由参数值和类型组成的两项元组。有关详细信息,请参阅 MySQLCursor.callproc() 方法。(错误#71124,错误#17965619)
如果不显式提供密钥和证书,则无法启动 SSL 会话。现在可以仅使用
ssl_ca指向 CA 证书文件的连接参数连接到 MySQL 服务器。这意味着ssl_key和ssl_cert连接参数是可选的。但是,当给出其中一个时,必须同时给出或AttributeError引发 an。(缺陷 #69418,缺陷 #17054848)-
Connector/Python 现在支持 MySQL 5.6 中的身份验证插件。这包括
mysql_clear_password和sha256_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_cert或ssl_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, ...])
-
一个新的
MySQLConnection类reset_connection()方法使应用程序能够将 a 发送COM_RESET_CONNECTION到服务器。该方法类似于mysql_reset_connection()MySQL 5.7.3中新增的C API函数。一个新的
MySQLConnection类reset_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(witherrorcode.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)