发布了MySQL 5.7.44和MySQL 8.0.35的Galera集群
内容提要
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 构建了软件包。