由于 Microsoft Visual C++ 2017 Redistributable 安装程序删除了标识其安装的 Microsoft Visual C++ 2015 Redistributable 注册表项,如果同时安装了 Microsoft Visual C++ 2015 Redistributable 和 Microsoft Visual C++ 2017 Redistributable,则独立的 MySQL MSI 可能无法检测到 Microsoft Visual C++ 2015 Redistributable。解决方案是通过 Windows 控制面板修复 Microsoft Visual C++ 2017 Redistributable,重新创建运行时检测所需的注册表项。与独立的 MSI 不同,适用于 Windows 的 MySQL 安装程序包含检测问题的解决方法。(缺陷 #28345281,缺陷 #91542)
-
用于在 Oracle Linux 7 上安装 ARM 64 位 (aarch64) Connector/C++ 二进制文件的 RPM 包现已在 MySQL Yum 存储库中提供并可直接下载。
此 ARM 版本的已知限制:您必须启用 Oracle Linux 7 软件集合存储库 (ol7_software_collections) 才能安装此程序包,并且还必须调整 libstdc++7 路径。有关更多详细信息,请参阅 Yum 的平台特定说明。
Connector/C++ 的安装程序现在以这些格式提供:MSI 包 (Windows);RPM 包 (Linux);DMG 包 (macOS)。请参阅从二进制分发安装连接器/C++。
-
yaSSL 不再包含在连接器/C++ 源代码分发中。wolfSSL 可用作具有 GPLv2 兼容许可证的功能等效替代方案。另外,wolfSSL(和OpenSSL一样)支持TLSv1.2协议,而yaSSL不支持。
要使用 wolfSSL 构建连接器/C++,请使用 CMake选项,其中 指示 wolfSSL 源的位置。有关详细信息,请参阅 源安装系统先决条件和 连接器/C++ 源配置选项。
-DWITH_SSL=
path_name
path_name
-
连接器/C++ 现在支持
NOWAIT
和SKIP LOCKED
锁定争用模式,用于 CRUD 查找/选择操作lockExclusive()
的lockShared()
子句(请 参阅使用 NOWAIT 和 SKIP LOCKED 锁定读取并发),以及默认的锁定争用模式。下面的列表列出了允许的常量。对于每一项,第一个和第二个常量分别适用于 X DevAPI 和 X DevAPI for C。LockContention::DEFAULT
,LOCK_CONTENTION_DEFAULT
: 阻塞查询,直到现有的行锁被释放。LockContention::NOWAIT
,LOCK_CONTENTION_NOWAIT
: 如果不能立即获得锁,则返回错误。LockContention::SKIP_LOCKED
,LOCK_CONTENTION_SKIP_LOCKED
: 立即执行查询,从查询中排除被锁定的项。
对于 X DevAPI 和 X DevAPI for C 应用程序,锁定模式方法接受这些锁定争用常量作为参数。对于 X DevAPI 应用程序,可以像以前一样在没有此参数的情况下调用锁定模式方法;这相当于传递了一个锁模式
DEFAULT
。有关详细信息,请参阅 使用锁定。
Connector/C++ 现在支持
SHA256_MEMORY
使用 X 协议的连接身份验证机制。对于 X DevAPI 应用程序,SessionOption::AUTH
支持新值AuthMethod::SHA256_MEMORY
。对于 C 应用程序的 X DevAPI,会话选项MYSQLX_OPT_AUTH
支持新值MYSQLX_AUTH_SHA256_MEMORY
。这些新值请求sha256_memory
在创建会话时使用身份验证机制。-
为了提高对 X DevAPI 的遵从性,进行了以下连接器/C++ 更改:
getAffectedItemsCount()
已从Result
移至Result_common
。Collection.modify(condition).arrayDelete()
去掉了。getAffectedRowsCount()
去掉了。改用getAffectedItemsCount()
。getWarningCount()
更名为getWarningsCount()
.
utf8mb4
字符数据处理不正确。(错误号 28240202)Session
创建有内存泄漏。(漏洞#27917942)当配置为使用旧版连接器构建连接器/C++ 时, CMake没有考虑该
MYSQL_CONFIG_EXECUTABLE
选项。(缺陷 #27874173,缺陷 #90389)创建会话时对未知主机的错误处理不当可能会导致应用程序意外退出。(漏洞#27868302)
对于
mysqlx_row_fetch_one()
超过最大数据包大小的大型结果集,X DevAPI for C 函数可能无法返回。现在这样的结果集会产生错误。(漏洞#27732224)