版本、分支与生态
MariaDB 的发布节奏、当前 LTS、与 MySQL 的分叉历史、Percona 等社区分支
MariaDB 的发布节奏
MariaDB 从 10.x 起采用滚动主线 + LTS模型,与 Ubuntu 类似:
- 滚动主线版本(如 12.0、12.1、12.2)—— 大约每季度一个,只维护到下一个滚动版发布(不回补丁),最后的
.3转为 LTS - LTS 版本(如 11.4、11.8、12.3)—— 现在每年一个(2024 起从"每 2 年"提速),生产推荐
- 每个版本号格式:
主版本.次版本.补丁,例如12.3.2
LTS 支持周期变短了:11.4 及更早的 LTS 仍享 5 年社区支持;但从 11.8 起,社区版 LTS 缩短为 3 年(企业版可付费延长)。规划升级窗口时要按新口径算。
当前活跃版本(截至 2026-06)
| 版本 | 类型 | 首发 | EOL | 建议 |
|---|---|---|---|---|
| 12.3 | LTS | 2026-05 | 2029-06 | ⭐ 最新 LTS,生产首选 |
| 11.8 | LTS | 2025-06 | 2028-06 | LTS;VECTOR 在此版 GA |
| 11.4 | LTS | 2024-05 | 2029-05 | 稳定 LTS(最后一批 5 年支持) |
| 12.2 / 12.1 / 12.0 | 滚动主线 | 2025–2026 | 均已 EOL | 已被 12.3 LTS 取代,新项目别用 |
| 10.11 | LTS | 2023-02 | 2028-02 | 老项目维护可继续 |
| 10.6 | LTS | 2021-07 | 2026-07-06 | 即将 EOL(约 3 周),立刻规划升级 |
| 10.5 及以下 | — | — | 已 EOL | 必须升级 |
官方实时版本与 EOL 表:mariadb.org/about/#maintenance-policy
与 MySQL 的关系(简史)
2009 MySQL 被 Sun → 被 Oracle 收购
Monty Widenius(MySQL 原作者)fork 出 MariaDB
2012 MariaDB 5.5 与 MySQL 5.5 几乎一致
2014 MariaDB 10.0 开始引入 MySQL 没有的特性(多源复制等)
2016 MySQL 8.0 与 MariaDB 10.2 起,两边路线分叉加剧
2020 MariaDB 10.5 起,不再把 MySQL 的代码 merge 回来
2024 MariaDB 11.4 LTS,完全独立路线
2025 11.8 LTS — VECTOR / HNSW 向量索引 GA
2026 12.0–12.2 滚动主线;12.3 LTS(5 月)成为最新生产推荐简而言之:今天的 MariaDB 不是 "MySQL 的兼容包",是一个独立产品。客户端协议 / 大部分 SQL 仍兼容,但深入使用要当作两套数据库看。
主要差异速查
| 主题 | MySQL 8.0+ | MariaDB 11.x |
|---|---|---|
| JSON 函数 | JSON_TABLE 完整实现 | 部分支持,语法差异 |
| CTE | 标准 | 标准 + WITH RECURSIVE 早期就有 |
| 窗口函数 | 标准 | 标准 |
| 默认存储引擎 | InnoDB | InnoDB |
| 默认字符集 | utf8mb4 (8.0+) | utf8mb4 (10.6+) |
utf8mb4 默认 collation | utf8mb4_0900_ai_ci | utf8mb4_uca1400_ai_ci(11.5+) |
| 角色权限 | 8.0+ | 10.0.5+(更早) |
| VECTOR / 向量索引 | 不支持(要 HeatWave 或外置) | 原生支持(11.7 预览,11.8 LTS GA) |
| 列存(OLAP) | 无(要 HeatWave) | ColumnStore 引擎 |
| Group Replication / Cluster | Group Replication | Galera(默认) |
| 商业版与开源版差异 | 大(HeatWave 闭源) | 小(核心全开源) |
| 上游开发主导 | Oracle | MariaDB Foundation + 社区 |
MariaDB 的"亲戚"们
MariaDB Server(主线,你大概率用的)
由 MariaDB Foundation(非营利)和 MariaDB plc(商业公司)共同维护,GPL v2,永久开源。
MariaDB ColumnStore
MariaDB 内的列式存储引擎,做 OLAP / 数仓。可以和主表共存在一个实例里,用 SQL 直接查。
MariaDB Xpand(前 ClustrixDB)
MariaDB 商业版的分布式 SQL,分片透明、强一致。只在 SkySQL 提供。
Percona Server for MySQL
Percona 公司基于 MySQL 的增强版,不是 MariaDB 的分支。但 Percona 工具集(pt-archiver、pt-online-schema-change、Percona XtraBackup)MariaDB 也能用。
Drizzle(已停止维护)
2008 年的早期 fork,目标是把 MySQL 拆成微服务。2014 年后基本停了。历史向了解即可。
TiDB / OceanBase / PolarDB
这些是协议兼容MySQL/MariaDB 的国产/开源新数据库,不是分支,是独立产品。要 HTAP / 分布式可以看看。
怎么决定升不升级?
graph TD
A[你在用什么版本?] --> B{是否 LTS?}
B -- 是 --> C{距 EOL 还有多久?}
B -- 否 --> D[尽快升到最近一个 LTS]
C -- > 1 年 --> E[暂时不动]
C -- < 1 年 --> F[规划升到下一个 LTS]跨大版本升级要点
- 永远不要跨 2 个大版本升(例如不要 10.5 → 11.4 一步到位)
- 升级路径示例:10.5 → 10.6 → 10.11 → 11.4 → 11.8 → 12.3
- 每一跳都跑一次
mariadb-upgrade - 备份!备份!备份!
进一步阅读
- MariaDB 官方 Release Notes
- MariaDB Foundation Roadmap
- Jira 看正在开发的 issue