MySQL Xtrabackup 是 MySQL 备份和恢复工具,使用页面拷贝机制。该机制允许在数据库运行时创建一致的逻辑备份,而无需锁表。Xtrabackup 工作流程包括:

  1. 准备阶段:
  2. 冻结所有非事务表,暂停所有写入操作。
  3. 获取全局读锁,防止架构更改。

  4. 备份阶段:

  5. 拷贝所有数据文件和 redo 日志文件到目标位置。
  6. 对拷贝的文件执行增量备份。

  7. 恢复阶段:

  8. 创建新的数据目录。
  9. 拷贝备份文件到新目录。
  10. 恢复 redo 日志,应用未提交的事务。