像 MySQL 的 barman 一样进行备份/恢复

像 MySQL 的 barman 一样进行备份/恢复

我想要一个适用于 MySQL(MariaDB/Percona)服务器的备份/恢复工具,它具有与酒保对于 postgresql 来说

  • 定期进行完整备份(xtrabackup,但也可以使用其他工具)
  • 收集二进制日志(复制它们或者作为从属连接...)
  • 一些“简单”的方法,将一台服务器恢复到特定事务​​或时间点的状态(在理想情况下,此工具将复制基础备份,然后重播日志直到所讨论的时间点自动地

美好的事情:

  • 向备份系统添加新服务器的简单方法
  • 恢复备份

有什么提示、想法……吗?

答案1

如果你想进行增量备份,请使用 innobackupex

使用 innobackupex 创建增量备份

首先需要进行一次全量备份,作为后续增量备份的基础:

 $ innobackupex /data/backups

这将在 /data/backups 中创建一个带时间戳的目录。假设备份是在一年的最后一天完成的,BASEDIR 将是 /data/backups/2013-03-31_23-01-18。

注意:您可以使用 innobackupex --no-timestamp 选项覆盖此行为,备份将在给定目录中创建。如果您检查 BASE-DIR 中的 xtrabackup-checkpoints 文件,您应该会看到类似以下内容:

 backup_type = full-backuped
 from_lsn = 0
 to_lsn = 1291135

要在第二天创建增量备份,请使用 --incremental 选项并提供 BASEDIR:

 $ innobackupex --incremental /data/backups --incremental-basedir=BASEDIR

另一个带时间戳的目录将在 /data/backups 中创建,在本例中,

/data/backups/2013-04-01_23-01-18 包含增量备份。我们将其称为 INCREMENTAL-DIR-1。

如果你检查 INCREMENTAL-DIR-1 中的 xtrabackup-checkpoints 文件,你应该会看到类似这样的内容:

 backup_type = incremental
 from_lsn = 1291135
 to_lsn = 1352113

第二天创建另一个增量备份将是类似的,但这次前一个增量备份将是基础:

 $ innobackupex --incremental /data/backups --incremental-basedir=INCREMENTAL-DIR-1

产生(在此示例中)/data/backups/2013-04-02_23-01-18。为简单起见,我们将使用 INCREMENTAL-DIR-2。

相关内容