2015-04-02 65 views
-1

我正在处理几个增长速度非常快的数据库。现在它大约是12GB,在接下来的几个月内它将会跨越15GB。在这种情况下,我只有在cronjob中运行的传统备份进程mysqldump。我发现整个数据库的备份和恢复时间(几小时甚至几天)都有明显的延迟。知道物理备份比逻辑快得多,我发现了这两种,但由于一些限制和公司策略,无法实现这些备份。针对大型数据集的MySQL备份/恢复策略(大于15GB)

MySQL Enterprise Backup:这是商业

Percona XtraBackup:Percona的来到这个工具专门为Linux环境。并非所有公司都会同意使用第三方工具,即使它是开源的。

当数据库混合使用InnodbMyISAM时,请特别提出其他更好的备份和恢复机制。寻找一些好的建议,对快照

回答

1

我个人使用过Percona XtraBackup工具集。它执行一些简单的过程,以在完成正常存储时获取innodb binlog中的所有提交数据。阅读MySQL企业备份也可以做到这一点。

增量备份/快照可以使用Percona XtraBackup和MySQL Enterprise来完成,如果这正是您想要的。

使用只读从站,您可以保持读锁的分离。如果你使用mysql免费工具进行备份,这将使你的锁不会被主控读取。

另一个选择,如果你有一个奴隶是你可以关闭奴隶和rsync数据的某处备份。

+1

我不知道如果直接复制数据文件,数据的一致性如何。 – Peter 2015-04-02 13:21:02

1

首先我会尝试使用“--single事务”使用mysqldump只要所有的表是InnoDB和你转储过程中不修改表结构。这将尝试从单个时间点转储,但只能在不锁定表的情况下执行。

我还没有尝试xtrabackup,但它看起来像会做你想要的。

你也可以尝试设置mysql复制和从奴隶倾倒。

最后是LVM快照,但需要更多工作。