版本 8.0.27 是 8.0 系列 MySQL Connector/J 的最新通用版本。它适用于 MySQL 服务器版本 8.0、5.7 和 5.6。它支持 Java 数据库连接 (JDBC) 4.2 API,并实现了 X DevAPI。
该
ResultSet.getBoolean()
方法现在 为“ T ” / “ F ”的 值 返回true
/ 。(缺陷号 33185116)false
VARCHAR
根据良好的 XML 实践,
getSource()
方法MysqlSQLXML
不再支持 XML 源中的外部 DTD、外部通用实体和外部通用参数。(缺陷号 33094420)为了与 Java 的其他实现兼容,
TLS_
已从TlsSettings.properties
文件中的密码套件名称中删除后缀,并将TLS_
和SSL_
前缀添加到 对象ALLOWED_CIPHERS
列表中 的密码套件名称中。ExportControlled
(缺陷号 31117686)方法中的同步
MultiHostConnectionProxy#invoke()
强制连接池等待语句完成执行,然后才能提供新的或空闲的连接,这在某些情况下会产生性能问题。是因为同步导致多线程调用该equals()
方法被阻塞。这个补丁重组了同步以避免锁定像equals()
和这样的无处不在的方法toString()
。(漏洞#28725534)Connector/J 现在支持对使用该
authentication_oci
插件创建的 MySQL 用户进行身份验证。有一个新的连接属性 ociConfigFile~/.oci/config
,用于在类 Unix 系统和%HOMEDRIVE%%HOMEPATH%\.oci\config
Windows 系统的默认位置找不到所需的 OCI SDK 和客户端配置文件的位置(其中~
和%HOMEPATH%
代表运行应用程序的用户)。Connector/J 测试套件经过重新设计,可以针对使用 yaSSL 或 OpenSSL 编译的单个 MySQL 服务器运行 ;Ant 构建属性
com.mysql.cj.testsuite.url.openssl
,com.mysql.cj.testsuite.mysqlx.url.openssl
现在被忽略了。
该方法
DatabaseMetaData.getImportedKeys()
有时会为同一个外键返回多行。(错误#33237255,错误#104641)当
cacheServerConfiguration
启用并且后续连接配置了不同的字符集选项时,将字符串插入表中会导致Incorrect string value
服务器出错。这是因为 Connector/J 重用的缓存字符集信息是可变的,这个补丁解决了这个问题。(漏洞 #29807572)当
ResultSet.getObject(columnIndex, java.util.Date.class)
预期返回 null 时,它会导致 Connector/J 抛出 aNullPointerException
。(错误#104559,错误#33232419)在将 a
Calendar
作为参数传递给ClientPreparedStatement
set 方法后,SimpleDateFormat
用于呈现参数值的对象实际上修改了Calendar
,因此使用同一个Calendar
对象和多个 set 方法有时会导致设置错误的日期或时间。通过此修复,在创建对象时将其 克隆Calendar
传递给对象,以避免更改原始. 感谢 Björn Michael 对修复的贡献。(缺陷 #104170,缺陷 #33064455)SimpleDateFormat
Calendar
使用基于游标的提取 (
useCursorFetch=true
) 时,SHOW
语句EXPLAIN
失败并带有SQLException
. (缺陷 #103878,缺陷 #32954449)setQueryTimeout()
当游标用于获取行 (useCursorFetch=true
) 时,未能为查询设置超时。感谢 Hong Wang 贡献修复。(错误#103796,错误#32922715)当连接属性
createDatabaseIfNotExist
设置为 true 时,如果名称中包含连字符,则无法创建不存在的数据库。感谢 Lukasz Sanek 贡献修复。(缺陷 #95564,缺陷 #29894324)调用时
Statement.executeQuery()
,Connector/J 对语句是否会返回结果的检查不充分,因此有时会拒绝适当的语句(例如,以子句SELECT
开头的WITH
语句、前面有连续注释的语句等),而在其他时候,执行了不适当的语句(例如,DO
陈述),导致各种错误。通过此修复,Connector/J 通过查看语句关键字和上下文以及正确处理不同的极端情况来执行更准确的检查。在这种新机制中,Connector/J 采用了一种宽松的方法:允许运行可能返回结果的语句。(错误#71929、错误#18346501、错误#103612、错误#32902019、错误#23204652)