有没有(主要)安全的方式来使用zfs快照备份实时MySQL数据库

基本上我正在寻找一种方法来告诉MySQL(percona-flavored)采取以下步骤:

  • 将所有已提交的事务刷新到文件系统
  • 开始缓冲所有事务(保持文件系统处于一致状态)
  • 等待我做一些事情(拍摄zfs快照)
  • Unbuffer写入并恢复正常的操作

允许DDL语句破坏备份的解决scheme是可以接受的(因为这个备份解决scheme将被频繁地应用,并且DDL语句将是非常罕见的 – 最坏的情况是将不得不比预期多一个小时地回滚db)。

备份操作应该对性能造成最小的破坏性,但这不是一个负载较重的系统。 按照数据库或系统范围执行这个程序的解决scheme都很好,尽pipe后者在某种程度上是优选的。

如果你所有的数据库都是InnoDB格式,那么你不需要这样做。 InnoDB将在启动时自动使数据保持一致。