Documentation Home
MySQL 连接器/J 8.0 发行说明  /  MySQL Connector/J 8.0.26 的变化(2021-07-20,全面上市)

MySQL Connector/J 8.0.26 的变化(2021-07-20,全面上市)

版本 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 协议建立连接。

添加或更改的功能

修正错误

  • X DevAPI: 如果流中的DocResult行前面有任何Notice消息,则流式传输失败。这是因为 尝试使用该方法添加 addProtocolEntity()方法 StreamingDocResultBuilder未返回 ,此补丁已修复此问题。(缺陷 #30438500,缺陷 #97269)falseNotice

  • 当使用基于游标的提取从服务器检索行时,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)