一条变成现实的错误信息
SQLSTATE [HY000] [2006] MySQL server has gone away 是 MariaDB / MySQL 生态系统中最知名的错误信息之一。每个 DBA 都至少见过一次。但在 2026 年,是 Galera 本身似乎已经"gone away"——不是因为网络超时,而是因为 MariaDB plc 的一个战略决定。
随着 MariaDB 12.3 LTS 的发布,同步 Galera 复制不再包含在社区版中。该组件已被移至商业许可下,这是收购 Codership(这家自 2007 年以来一直开发和维护 Galera 库的芬兰公司)的直接后果。
一场预告的离别时间线
这个故事分为几幕:
2025 年 6 月 — MariaDB plc 宣布收购 Codership。在这个阶段,官方信息强调的是延续性:Galera 为社区保持 GPLv2 许可;收购旨在加速开发和与 MaxScale 的集成。
2025 年末 — 首批 MariaDB 12.x 开发分支出现时没有 wsrep 插件。社区贡献者在邮件列表中标记了这一变化。
2026 年 2 月 — 12.3 LTS 版本发布。Galera Cluster 正式从社区版中缺席。一份新闻稿解释说该组件现在保留给 MariaDB Enterprise Server,采用商业许可。
为什么做出这个决定?
从 MariaDB plc 的角度来看,这个逻辑是可以理解的。Galera 是与 Oracle MySQL 和 PostgreSQL 竞争的主要差异化因素。它是关系型数据库中少数可用的同步多主复制技术之一。而且它是企业版产品的有力卖点。
问题在于 Galera 也是选择社区版 MariaDB 而非 MySQL 或 PostgreSQL 的主要理由。数以千计的生产架构依赖于 Galera 的开源版本。PmaControl、Percona XtraDB Cluster(使用相同的 Galera 库)等工具以及数十个社区 Ansible 剧本都围绕这一功能构建。
社区反应
社区的反应夹杂着愤怒和无奈。几种声音浮现:
务实派指出,最后一个包含 Galera 的社区版(MariaDB 11.4)将支持到 2029 年。有时间规划迁移。
担忧派强调了一个模式:MaxScale 在 2016 年从 GPLv2 转为 BSL,然后在 2025 年转为纯商业许可。Galera 正在走同样的道路。下一个会是哪个组件?
乐观派寄希望于 MariaDB 基金会维护一个替代方案。该基金会雇用约二十人,专注于社区服务器,理论上可以分叉 GPLv2 下现存的 Galera 代码。
现实派指出,维护像 Galera 这样复杂的同步复制系统需要非常专业的人才和大量资源。没有资金支持的社区分叉很难持续。
可选方案
面对这种情况,用户有几条路可走:
1. 继续使用 MariaDB 11.4 社区版 Galera
这是短期解决方案。MariaDB 11.4 LTS 将维护到 2029 年。这留出了三年时间来规划下一步。
2. 迁移到异步复制
MariaDB / MySQL 半同步复制为许多使用场景提供了可接受的折衷方案。配合 MaxScale 或 ProxySQL 等代理,它可以实现自动故障转移。但它无法保证 Galera 提供的多节点一致性。
3. 探索 Percona XtraDB Cluster
Percona 继续以开源许可为 MySQL 提供 Galera 解决方案。然而,问题是:没有 Codership 维护底层库,Percona 能维持自己的集成多久?
4. 迁移到 MariaDB Enterprise 版本
这显然是 MariaDB plc 希望用户采用的选项。许可成本必须与完整架构迁移的成本进行权衡。
5. 考虑 PostgreSQL
对于新架构,PostgreSQL 及其集群解决方案(Patroni、Citus 或原生逻辑复制)代表了一个可信的替代方案,尽管它具有不同的理念。
真正的辩论:开源的可持续性
超越 Galera 的案例,这个决定重新引发了一场根本性辩论。如何为复杂开源软件的长期发展提供资金?
Open Core 模式——一个免费核心加上商业功能——是主流模式。Redis、MongoDB 和 Elasticsearch 都以各种形式采用了它。MariaDB 只是在遵循这一趋势。
但有一个关键区别:Redis 从一开始就用新功能改变了游戏规则。MariaDB 正在移除一个已经免费了超过十五年的功能。这就是"从未给予"和"收回已给予之物"之间的区别。
信任是开源生态系统的核心。当一家公司从社区版中移除功能时,它向所有用户发出了一个信号:"你今天免费使用的东西明天可能变成付费的。"这个信号促使架构师倾向于选择由基金会治理的替代方案(如 PGDG 管理的 PostgreSQL),而非商业公司。
这对 DBA 意味着什么
如果您是一名管理生产环境 Galera 集群的 DBA,以下是我的建议:
- 不要恐慌。您的 MariaDB 11.4 集群正在运行并将继续运行。
- 记录您的 Galera 依赖。哪些用例真正需要同步多主复制?
- 评估替代方案。对于每个用例,带有自动故障转移的半同步复制是否足够?
- 提前规划。三年是很长的时间,但数据库迁移需要时间。现在就开始评估。
总结
Galera has gone away 不是一条错误信息。它是一个时代的转变。在 MariaDB / MySQL 生态系统中,最先进的集群技术不再对所有人开放的模式的终结。
这不是 MariaDB 的终结,也不是 Galera 的终结。这是"开源"在企业数据库语境中某种理念的终结。这也是对整个社区的一个教训:在开源领域,唯一的保证就是许可证。阅读它、理解它,并据此做好规划。
本文最初发表于 Medium。
评论 (0)
暂无评论。
发表评论