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)