对于 Windows,MySQL Router 的 MSI 安装程序包现在包括对所需 Visual Studio 可再发行包的检查,并在缺少时生成一条消息,要求用户安装它。(缺陷号 30541398)
-
添加了新的日志功能:
[filelog]
:这个新部分包括filename
默认为[logger]
的文件名值的可选选项。这个文件被写入logging_folder
目录;并且该值必须是文件名并且不包含路径。[logger]
:添加了一个可选filename
选项来定义路由器的日志文件名,它还设置了[filelog]
默认文件名值。默认情况下未设置,而默认文件名行为是路由器的mysqlrouter.log
.[consolelog]
:这个新部分包括destination
默认为的可选选项/dev/stderr
。可用值为/dev/stdout
、/dev/stderr
或/dev/null
on *nix;和CON
/或NUL
在 Windows 上。
(缺陷 #29271072,缺陷 #94095)
-
添加了对 InnoDB 集群元数据“标签”属性的支持;即“_hidden”和“_disconnect_existing_sessions_when_hidden”标签。
_hidden
:一个布尔值,指示是否应隐藏节点。设置“true”使节点隐藏,而“false”或任何其他值认为它不隐藏。默认值:假。-
_disconnect_existing_sessions_when_hidden
:一个布尔值,指示在隐藏节点的情况下是否应删除与节点的现有连接。“false”值表示节点是“dont_disconnect_existing”,这意味着与隐藏节点的现有连接不会断开。True 或任何其他值表示相反。默认值:真。此设置不会影响新的客户端连接,这些连接永远不会指向隐藏的实例。
隐藏实例只影响用户连接;在执行诸如获取元数据和计算仲裁等任务时,该实例对 Router 仍然可用。
更新了 mock_server MySQL 服务器类型定义;修复了 NEWDECIMAL 并添加了 TIMESTAMP2 和 JSON。(缺陷 #31283079,缺陷 #99416)
为了测试,完整的 protobuf 依赖被 protobuf-lite 取代。(缺陷号 31245124)
对于 Windows,添加了必要的内部功能以允许日志轮换,但仍然不受支持。此功能仅在基于 Unix 的系统上可用。(错误#31212570,错误#33708504)
当 MySQL 服务器将优化器开关 derived_merge 设置为关闭时,引导过程无法完成;因为 v2_routers 视图变得不可插入。现在,对于路由器正在处理元数据的会话,derived_merge 设置为 on。(缺陷号 31170721)
改进插件加载机制,不隐式加载插件;以前同一个插件可以加载两次。(缺陷号 31024867)
路由器假定 X 协议通知通知的每个新 GR 更改都有一个新的视图 ID,但情况并非总是如此;例如,对于诸如切换主要角色或角色更改之类的更改。视图 ID 不再用于通知去抖动。(漏洞 #31017863,漏洞 #98863)
通过添加缺少的标头修复了 MSVC 2019 16.6 版本。感谢 Billy O'Neal 提供的补丁。(缺陷 #31008906,缺陷 #98880)
修复了 Clang 9 警告。(缺陷号 30920954)
使用 use_gr_notifications=1,路由器在通过已发送的 X 协议连接发送 PING 消息时使用旧的 X 协议命名空间名称 (xplugin),以避免关闭空闲连接。(缺陷号 30850734)
在启用高 TTL 和组复制 (GR) 通知的情况下,MySQL Shell 操作(如 addInstance() 和 removeInstance() )在 TTL 到期之前不会被注意到;同时会触发 GR 通知。现在路由器在注意到不一致的元数据时暂时将 TTL 降低到 1 秒,直到它再次变得一致。(缺陷号 30739068)
在 Linux 上,路由器现在安装了一个示例 logrotate 示例脚本;它位于
/etc/logrotate.d/mysqlrouter
. (缺陷号 30611485)更新了 HTTP 服务器逻辑以适应 libevent 2.1.9 所做的更改。