发布了MySQL 5.7.44和MySQL 8.0.35的Galera集群

💡 原文英文,约700词,阅读约需3分钟。
📝

内容提要

Codership发布了多主Galera Cluster for MySQL 5.7的新版本,包括MySQL-wsrep 5.7.44和MySQL-wsrep 8.0.35,以及Galera复制库4.17。此版本添加了MySQL 5.7.44和MySQL 8.0.35的所有更改,并为MySQL高可用性解决方案添加了同步选项。建议升级到MySQL-wsrep 8.0,因为MySQL 5.7已经到期。此外,还有一些其他更新和修复。

🔎

延伸解读

MySQL 5.7 生命周期结束,升级至 8.0 是明确方向

文章明确指出 MySQL 5.7 已于 2023 年 10 月结束生命周期(EOL),因此 Codership 不会为 MySQL-wsrep 5.7 发布新的 Galera 复制库版本(除非有 bug)。同时,FreeBSD 已移除过期的 mysqlwsrep57-server 端口。对于仍在使用 5.7 的用户,官方强烈建议升级到 MySQL-wsrep 8.0,以继续获得更新和支持。

新签名密钥确保 RHEL 9 兼容性

本次发布引入了新的包签名密钥(密钥 ID:8DA84635),旧密钥仍对旧包有效。新密钥的主要目的是确保与 Red Hat Enterprise Linux 9 及更高版本兼容。对于在 RHEL 9 上部署 Galera Cluster 的用户,需要注意使用新密钥验证软件包,以避免安装或更新时出现问题。

8.0.35 增强 SST 安全性与外键检查可靠性

MySQL 8.0.35-26.16 修复了 CLONE SST 过程中临时用户的创建和删除被写入二进制日志并触发 GTID 的问题,现在这些操作不再记录。SST 用户账户管理改为通过 socket 自动创建临时账户,凭据直接传递给 SST 脚本,比环境变量更安全,且尊重管理员设置的 wsrep_sst_auth。此外,新增外键约束检查重试机制,默认重试 1 次,可通过 wsrep_applier_FK_failure_retries 控制,减少因并发事务导致的误报失败。

wsrep_notify_cmd 调用时机优化,避免挂起

wsrep_notify_cmd 脚本现在仅在 Galera Cluster 形成集群视图、同步完成或成为 donor 时被调用,而不是在每次状态变化时都调用。这一改变旨在防止因脚本执行不当导致的挂起问题。同时,INFORMATION_SCHEMA.PROCESSLIST 已被弃用,建议改用 PERFORMANCE_SCHEMA.PROCESSLIST 来监控 applier 和 rollback 线程。

❓

Q&A

Galera Cluster for MySQL 最新发布了哪些版本?

Codership 发布了 MySQL-wsrep 5.7.44 和 MySQL-wsrep 8.0.35,以及 Galera 复制库 4.17(实现 wsrep API 版本 26)。

为什么建议从 MySQL-wsrep 5.7 升级到 8.0?

因为 MySQL 5.7 已于 2023 年 10 月到达生命周期终点(EOL),且这很可能是 5.7 系列的最后一个版本,所以强烈建议升级到 MySQL-wsrep 8.0。

MySQL 8.0.35-26.16 在 CLONE SST 过程中修复了什么问题?

修复了在 joiner CLONE SST 过程中创建和删除临时用户时,这些操作被写入二进制日志并触发 MySQL GTID 的问题;现在 joiner 进程操作已禁止写入二进制日志。

wsrep_notify_cmd 脚本的调用时机有什么变化?

现在仅当 Galera Cluster 形成集群视图、或处于同步状态、或作为 donor 时才会调用该脚本,以防止出现挂起。

新增的外键约束检查重试机制如何工作?

新增了外键约束检查重试实现,默认重试次数为 1,可通过新系统变量 wsrep_applier_FK_failure_retries 控制。如果重试后仍失败,最终重试会打印警告、错误码和 InnoDB 系统监控输出以便排查。

MySQL 8.0.35 为哪些操作系统构建了软件包?

为 Debian 10 和 11、Ubuntu 20.04 和 22.04、CentOS 7,以及 Red Hat Enterprise Linux 7、8 和 9 构建了软件包。

🏷️

标签

➡️

继续阅读