版本 8.0.26 是 8.0 系列 MySQL Connector/J 的最新通用版本。它适用于 MySQL 服务器版本 8.0、5.7 和 5.6。它支持 Java 数据库连接 (JDBC) 4.2 API,并实现了 X DevAPI。
-
TLSv1 和 TLSv1.1 连接协议现已弃用。虽然仍然可以使用与以前相同的协商过程与使用这些 TLS 版本的服务器建立连接,但对于使用这些 TLS 版本建立的任何连接,Connector/J 会向其记录器写入消息“此连接正在使用 TLSv1[.1],它现已弃用,并将在未来的 Connector/J 版本中删除。”
有关此弃用的背景,请参阅 IETF 备忘录 弃用 TLSv1.0 和 TLSv1.1。建议使用更安全的 TLSv1.2 和 TLSv1.3 协议建立连接。
重要更改: 决定服务器和 Connector/J 之间通信的字符集和排序规则的机制已更改:默认情况下不再遵循服务器的设置,它们现在由 Connector/J 连接属性确定。有关详细信息,请参阅 使用字符集和 Unicode。(漏洞#25554464)
如果在服务器上启用了跟踪, Connector/J 现在可以接收 服务器跟踪的客户端会话状态更改。已创建一个新的连接属性 trackSessionState ,以使 Connector/J 能够在该属性设置为 true 时接收带有查询结果的信息。感谢 William Lee 对此功能的贡献。(错误#32435618,错误#102404)
Connector/J 现在可以为使用服务器端身份验证插件的帐户建立连接,
authentication_kerberos
自 8.0.26 版以来,MySQL Server 的商业版本支持该插件。有关详细信息,请参阅 使用 Kerberos进行连接。
X DevAPI: 如果流中的
DocResult
行前面有任何Notice
消息,则流式传输失败。这是因为 尝试使用该方法添加addProtocolEntity()
方法StreamingDocResultBuilder
未返回 ,此补丁已修复此问题。(缺陷 #30438500,缺陷 #97269)false
Notice
当使用基于游标的提取从服务器检索行时,Connector/J 在收到错误数据包后挂起,因为它一直在等待实际数据包的到达。通过此修复,Connector/J 会在这种情况下引发错误。(缺陷号 32954396)
BLOB
使用服务器端 将 a插入表中PreparedStatement
会导致ClassCastException
. (错误#32766143,错误#103303)8.0.23 及更高版本的 Connector/J 无法在 OSGi 中使用。这是因为清单文件缺少一些 OSGi 所需的导入,这个补丁解决了这个问题。(错误#32459408,错误#102372)
Connector/J 发出了不必要的SET NAMES 语句来将排序规则设置为服务器自己的设置,这导致性能下降。为了解决这个问题和其他问题,引入了一种用于协商服务器和 Connector/J 之间通信的字符集和排序规则的新机制;有关详细信息,请参阅 使用字符集和 Unicode。感谢 Marc Fletcher 为修复做出的贡献。(错误#31818423,错误#100606)
ResultSet
该方法返回的 行重复DatabaseMetaData.getImportedKeys()
。这是由于方法中的错误查询引起的,此补丁已更正该问题。感谢 Miron Balcerzak 为修复做出的贡献。(缺陷 #29757140,缺陷 #95280)如果服务器默认连接排序规则的 ID 大于 255 或者 Connector/J 指定了自定义 连接排序规则,则连接失败。此补丁通过实施新机制和新连接属性
customCharsetMapping
来解决服务器和 Connector/J 之间排序规则的协商问题,从而解决了这个问题。有关详细信息,请参阅 使用字符集和 Unicode。(漏洞#25554464)