云上 MariaDB
AWS、阿里云、腾讯云、Azure、SkySQL 托管 MariaDB 选型对照
TL;DR
| 你的诉求 | 推荐 |
|---|---|
| 国内业务、最便宜 | 阿里云 RDS for MariaDB 或 腾讯云 TencentDB for MariaDB |
| 海外业务 / 已在 AWS | AWS RDS for MariaDB |
| 想用 MariaDB 官方功能(如 ColumnStore、Xpand 分布式) | MariaDB SkySQL |
| Azure 用户 | 不推荐 —— Azure Database for MariaDB 已于 2024-09-19 EOL,迁去 Azure Database for MySQL 或自建 |
| 全自建(k8s) | MariaDB Operator + 自管备份 |
各家细节对照
AWS RDS for MariaDB
- 支持版本:截至 2026-06,AWS RDS 已上到 11.8 LTS(含 VECTOR),并保留 11.4 / 10.11 LTS;12.3 仍在 Preview
- 优点:成熟、Multi-AZ、自动备份、与 IAM/CloudWatch 集成、Graviton (
db.r7g) 性价比高 - 缺点:版本永远比上游慢 6–12 个月;不支持 MariaDB 独有的 ColumnStore、Xpand(VECTOR 已随 11.8 上线,2025-08 起全区可用)
- 小贴士:开
Performance Insights,比自己装监控省心;用db.t4g.micro跑开发环境,月费 < $15
阿里云 RDS for MariaDB
- 支持版本:10.3 / 10.5(更新较慢)
- 优点:国内访问快、按量付费便宜、控制台中文友好
- 缺点:版本老;高版本生态依赖较弱
- 建议:新项目除非有特殊原因,优先考虑阿里云 PolarDB for MySQL —— 兼容性高、性能更猛
腾讯云 TencentDB for MariaDB
- 历史包袱:腾讯的 "TDSQL for MariaDB" 实际是基于 MariaDB 5.7 大改的内部分支,与上游 MariaDB 兼容性需要测试
- 适用:金融、强一致性、分布式场景
- 建议:如果只是想要标准 MariaDB,用腾讯云的 MySQL 反而更接近上游
Azure Database for MariaDB
已 EOL(2024-09-19)。Azure 已停止接收新实例。现有用户官方迁移路径是 Azure Database for MySQL Flexible Server。
MariaDB SkySQL
- 谁做的:MariaDB plc(官方公司)自己运营
- 优点:唯一支持 全部 MariaDB 企业特性的托管 —— ColumnStore(列存)、Xpand(分布式)、最新 VECTOR
- 缺点:贵;区域有限(主要 AWS 和 GCP 上的少数 region)
- 适合:分析型负载、需要 MariaDB 官方支持
通用选型清单
无论选哪家,部署前过一遍:
- 版本 —— 是否 11.4 LTS 或更新?(生产慎用非 LTS)
- 存储引擎 —— 默认 InnoDB?有没有不小心建成 MyISAM 的老表?
- 字符集 —— 默认
utf8mb4?collation 是utf8mb4_unicode_ci而不是utf8mb4_general_ci? - 备份 —— 开了 PITR?验证过 restore?
- 多可用区 —— 生产必开
- 参数组 ——
innodb_buffer_pool_size调到 RAM 的 60–70%? - 慢查询日志 ——
slow_query_log = 1,阈值 1s - TLS —— 客户端连接强制 TLS?
- 审计 —— 是否启用
server_audit插件?
从云 MySQL 迁到 MariaDB
详见 运维与迁移 → MySQL → MariaDB。简单说:
- MySQL 5.7 → MariaDB 10.5+:基本平滑
- MySQL 8.0 → MariaDB 11.x:注意 —— 这两个分支已经显著分叉,JSON 函数、CTE 语法、窗口函数、
utf8mb4默认 collation 都有差异,必须有测试覆盖再迁