2026 年最佳 MySQL 与 MariaDB 备份工具

发布: (2026年1月3日 GMT+8 15:56)
11 min read
原文: Dev.to

Source: Dev.to

MySQL 和 MariaDB 备份工具

理解 MySQL 和 MariaDB 的备份方法

在深入具体工具之前,先了解 MySQL 和 MariaDB 可用的不同备份方法非常重要。每种方法在速度、灵活性和恢复选项方面都有各自的优势。掌握这些基础知识有助于你评估哪种工具最适合你的需求。

  • 逻辑备份 – 将数据库导出为 SQL 语句或结构化数据文件,可在不同 MySQL 和 MariaDB 版本之间迁移。
  • 物理备份 – 直接复制磁盘上的实际数据文件,恢复速度更快,但需要版本兼容。
  • 热备份 – 在数据库保持运行状态时进行。
  • 冷备份 – 需要暂时停止服务器。

备份类型概览

备份类型速度可移植性是否需要停机典型使用场景
逻辑备份(mysqldump)较慢小型数据库、迁移
物理备份(文件复制)较快大型数据库、灾难恢复
热备份(流式)中等中等生产系统

在这些方法之间的选择取决于数据库规模、可接受的停机时间以及恢复时间目标。大多数生产环境都会受益于结合多种备份策略。

Source:

Databasus

MySQL backup 解决方案已经显著发展,Databasus 成为 2026 年最受欢迎的 MySQL 和 MariaDB 备份工具。该免费、开源、自托管的解决方案提供全面的备份自动化,适用于个人和企业部署。Databasus 支持灵活的调度、多种存储目标(S3、Google Drive、本地存储等),以及通过 Email、Telegram、Slack 和 Discord 的通知。

Databasus screenshot

功能概览

功能Databasus
调度每小时、每日、每周、每月、cron
存储选项S3、Google Drive、Dropbox、SFTP、本地
加密AES‑256‑GCM
数据库支持MySQL 5.7‑9、MariaDB 10‑11
用户界面Web 界面
费用免费(开源)

入门指南

  1. 安装 – 使用 Docker(或提供的二进制文件)运行 Databasus。
  2. 访问仪表盘 – 在浏览器中打开 Web UI。
  3. 添加数据库连接 – 提供主机、端口、凭证和 SSL 选项。
  4. 选择存储目标 – 从支持的后端中选择一个或多个。
  5. 配置调度 – 选择预设间隔或自定义 cron 表达式。
  6. 创建备份 – 点击 “Create backup”。平台会自动处理压缩、加密和保留策略。

mysqldump

mysqldump 实用程序是 MySQL 内置的逻辑备份工具,由于其可靠性和零额外成本,仍被广泛使用。它生成可以重新创建数据库结构和数据的 SQL 语句,非常适合较小的数据库以及需要跨版本兼容的场景。

基本备份

mysqldump -u root -p --single-transaction --routines --triggers mydbname > backup.sql
  • --single-transaction – 在不锁表的情况下,为 InnoDB 保证一致的快照。
  • --routines & --triggers – 包含存储过程和触发器(默认不包括)。

备份所有数据库

mysqldump -u root -p --all-databases --single-transaction > all_databases.sql

优点

  • 免费且随 MySQL/MariaDB 捆绑提供。
  • 可移植的 SQL 输出可跨版本使用。

缺点

  • 没有内置的调度、加密或远程存储功能。
  • 对于大型数据库,由于逐行处理,导出和恢复可能较慢。

MySQL 企业备份

MySQL Enterprise Backup 是 Oracle 为 MySQL 数据库提供的 物理热备份 商业解决方案。它在数据库继续提供查询服务的同时执行非阻塞备份,适用于停机不可接受的大型生产系统。

关键功能

  • 增量备份 – 仅捕获自上次备份以来发生变化的数据。
  • 压缩备份 – 减少存储占用。
  • 备份加密 – 满足安全性和合规性要求。
  • 时间点恢复 – 使用二进制日志将数据库恢复到指定时刻。
  • 备份校验 – 在恢复前验证备份完整性。

MySQL Enterprise Backup 与 MySQL Enterprise Edition 紧密集成,提供额外的管理和监控功能。需要商业许可证,因此主要适用于已经与 Oracle 建立合作关系的企业。

Percona XtraBackup

Percona XtraBackup 是一个 免费、开源的热备份 解决方案,适用于 MySQL 和 MariaDB,凭借多年的使用已获得社区的高度信任。它在 无需停机 的情况下创建物理备份,支持完整备份和增量备份、压缩以及加密。

  • 热物理备份 – InnoDB/XtraDB 表无需停机。
  • 增量支持 – 后续备份更快。
  • 流式传输 – 将备份直接通过管道发送到远程存储(例如 xbstream)。
  • 压缩与加密 – 可选 --compress--encrypt 参数。
  • 兼容性 – 兼容 MySQL 5.6‑8.0、MariaDB 10.1‑10.11 和 Percona Server。

示例:完整备份到本地目录

xtrabackup --backup --target-dir=/backups/full --user=root --password=YOUR_PASS

示例:增量备份

xtrabackup --backup --target-dir=/backups/inc1 \
          --incremental-basedir=/backups/full \
          --user=root --password=YOUR_PASS

示例:准备(应用 redo 日志)

xtrabackup --prepare --target-dir=/backups/full

优点

  • 无授权费用。
  • 能够在对大型高并发数据库的影响最小的情况下处理备份。

缺点

  • 需要额外的脚本来实现调度、保留策略和远程存储。
  • 物理备份与版本绑定;恢复时必须使用相同的 MySQL/MariaDB 版本。

选择合适的工具

场景推荐工具
小型数据库,偶尔手动备份mysqldump
大型生产数据库,零停机时间Percona XtraBackup,MySQL Enterprise Backup(如果您有许可证)
统一 UI,多目标存储,开源Databasus
需要增量、加密和压缩的热备份,并提供商业支持MySQL Enterprise Backup
混合策略(逻辑 + 物理)mysqldump(用于逻辑导出)与 XtraBackup 或 Databasus(用于物理快照)结合使用

MariaDB 备份

MariaDB Backup 是 MariaDB 对 Percona XtraBackup 的分支,针对 MariaDB 数据库进行了优化。它提供相同的核心功能,并对 MariaDB 特有的特性(例如系统版本表、加密表空间)实现更紧密的集成。

基本用法

mariabackup --backup \
            --target-dir=/backup/full \
            --user=root \
            --password=secret

MariaDB Backup 原生支持静态加密,能够在无需额外配置的情况下备份加密表。它还支持备份锁定,在较新版本的 MariaDB 上实现更高效的操作。

为什么选择 mariabackup?
使用 mariabackup 可以确保更好的兼容性和对 MariaDB 特有功能的支持,因为两者正逐渐分化。

mydumper 与 myloader

mydumper 是一个高性能的逻辑备份工具,克服了 mysqldump 在大数据库上的局限性。它执行 并行 备份,显著缩短备份时间,而配套工具 myloader 负责并行恢复。

使用 mydumper 进行备份

mydumper -u root -p password -B mydbname -o /backup/mydumper

使用 myloader 并行恢复

myloader -u root -p password -B mydbname -d /backup/mydumper

关键特性

  • 并行导入/导出 → 比 mysqldump 快得多。
  • 表级粒度 → 可选择性恢复,无需处理整个备份。
  • 内置压缩支持。
  • 一致的多库快照。

注意事项
需要单独安装,且没有内置的调度功能。不过,它可以很好地与自动化系统和备份管理平台集成。

比较 MySQL 与 MariaDB 备份工具

工具类型热备份增量内置调度成本
Databasus逻辑免费
mysqldump逻辑部分免费
MySQL Enterprise Backup物理商业
Percona XtraBackup物理免费
MariaDB Backup物理免费
mydumper逻辑免费

大多数团队通过将备份管理平台(例如 Databasus)与物理备份工具结合使用,以实现自动化和性能提升,从而受益。小型数据库可以仅依赖逻辑备份,而大型生产系统则从增量物理备份中获益最大。

Backup Best Practices for MySQL and MariaDB

  1. 定期测试恢复 – 验证备份能在隔离环境中恢复。
  2. 加密备份 – 在静止和传输过程中保护敏感数据。
  3. 监控任务 – 对失败发出警报并跟踪完成状态。
  4. 记录流程 – 保持恢复步骤的最新。
  5. 遵循 3‑2‑1 规则 – 在两种不同介质上保留三份副本,其中一份放在异地(例如 S3、Google Cloud Storage、Azure Blob)。
  6. 设置保留策略 – 符合合规性和业务需求。
  7. 自动化 – 使用 Databasus 等工具进行调度、存储轮换和通知,以减少人为错误。

结论

MySQL 和 MariaDB 备份生态系统提供了一系列工具——从像 mysqldump 这样的简单实用程序到企业级解决方案,如 MySQL Enterprise Backup、Percona XtraBackup 和 MariaDB Backup。对于大多数生产环境来说,结合 逻辑物理 备份的分层方法,并配合管理平台(例如 Databasus)实现自动化,能够在速度、可靠性和运营效率之间取得最佳平衡。

无论选择何种工具,定期测试异地存储 都是确保有效数据保护的关键。

n. Invest in your backup strategy now to avoid costly data loss and extended downtime when failures inevitably occur.
Back to Blog

相关文章

阅读更多 »

NodeJS 101 — 第2部分 MySQL

🚀 使用 JavaScript Node.js Express 构建 API 完整的 RESTful API 开发指南,使用 Node.js、Express、Sequelize 和 MySQL! https://media2.dev.to/dynam...

在 MSSQL 上创建和控制资源池

封面图片:Craft and Control Resource Pools on MSSQL https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%...