Documentation Home
MySQL 连接器/J 8.0 发行说明  /  MySQL Connector/J 8.0.14 的变化(2019-01-21,全面上市)

MySQL Connector/J 8.0.14 的变化(2019-01-21,全面上市)

版本 8.0.14 是 8.0 系列 MySQL Connector/J 的最新通用版本。它适用于 MySQL 服务器版本 8.0、5.7、5.6 和 5.5。它支持 Java 数据库连接 (JDBC) 4.2 API,并实现了 X DevAPI。

添加或更改的功能

  • 重要更改: 对于 MySQL Server 8.0.14 及更高版本、5.7.25 及更高版本、5.6.43 及更高版本以及 5.5.63 及更高版本,命名管道的最小权限被授予使用它们连接到服务器的客户端。然而,Connector/J 只有在被授予完全访问权时才能使用命名管道。作为解决方法,Connector/J 想要连接的 MySQL 服务器必须使用系统变量启动 named_pipe_full_access_group;有关详细信息,请参阅系统变量的说明。(漏洞 #28971500)

  • X DevAPI: getDefaultSchema()现在 null在没有为Session.

  • Connector/J 现在有一个用于从源构建的新属性 com.mysql.cj.build.verbose,它控制构建过程输出的冗长程度。它的默认值为 false,这使得输出与早期版本的 Connector/J 相比要短得多。(缺陷号 28970166)

  • 该方法ResultSet.getBoolean()现在 FALSE在指定列的数据类型为CHARorVARCHAR且包含Nn时返回。这使得 Connector/J 8.0 在将字符串转换为布尔值时表现得像 Connector/J 5.1。(漏洞 #28706219,漏洞 #92574)

  • Connector/J 现在能够读取并在需要时忽略 X 插件在建立 X 协议连接之前发送的任何初始通知数据包。

修正错误

  • X DevAPI:NullPointerException 当应用程序尝试使用不支持的 Windows 命名管道建立 XProtocol 连接时, Connector/J 返回 a通过此修复,将XProtoclException返回 an。

    此修复程序还确保 NullPointerException当应用程序尝试与命名管道建立经典 MySQL 协议连接,但命名管道未在连接时指定或无法在指定路径上找到时,将抛出适当的异常,而不是抛出异常。(缺陷号 28606708)

  • X DevAPI: 添加一个空文档并executeAsync() 导致ERROR 5013(Missing row data for Insert)。通过此修复,案例中不会返回任何错误或警告。(漏洞 #23045642)

  • Collection.count()当集合不存在时返回错误的错误消息。(缺陷号 28924137)

  • Connector/J 的源代码包含非 ASCII 字符,如果系统未使用 UTF-8 语言环境,则可能会在编译期间导致编码问题。通过此修复,无论系统区域设置如何,构建脚本现在都能很好地处理非 ASCII 字符。(漏洞#28894344)

  • 如果通过引导程序类路径而不是主应用程序类路径加载 Connector/J,则会发生内存泄漏。那是因为 AbandonedConnectionCleanupThread在那种情况下没有初始化它的内部线程,所以关闭连接的引用没有被清理,而且它们的数量一直在增长。此修复程序修复了关闭连接的清理过程,并使进程线程安全。(缺陷 #28747636,缺陷 #92508)

  • clearInputStream()当它尝试检索的 、 或 对象为空时返回NullPointerExceptiona 。 通过此修复,在这种情况下会抛出 an。感谢 Henning Schmiedehausen 为修复做出的贡献。(缺陷 #28731795,缺陷 #92625)mysqlSocketmysqlInputmysqlOutputIOExcpetion

  • 使用SELECT ... FOR UPDATE 更新 服务器端准备好的语句返回的结果集导致SQLException. (缺陷 #28692243,缺陷 #92536)

  • 当连接属性 zeroDateTimeBehavior设置为 时 CONVERT_TO_NULL,Connector/J 将 TIME类型值 转换00:00:00null。通过此修复,它会java.sql.Time按预期返回零小时、分钟和秒的实例。(缺陷 #28101003,缺陷 #91065)

  • 使用服务器端准备好的语句并使用具有多列主键的表时, updateRow()调用失败并显示 a NullPointerExceptionSQLException。(缺陷号 25650514)

  • 使用服务器端准备好的语句时, 调用失败refreshRow()后的 updateRow()调用带有 SQLException. (缺陷号 25650482)

  • changeUser()当满足以下所有条件时,未能更改或重新验证用户:(a) 通过 SSL 连接到服务器;(b) caching_sha2sha256_password身份验证插件用于用户;(c) 用户密码包含 Unicode 字符。(漏洞#25642226)