MySQL 具有 2 TB 数据的服务器。

MySQL server with 2 TB of Data.

备份 2 TB MySQL 数据的最佳策略是什么?应该多久安排一次数据备份? 我使用复制作为备份策略,但我知道这不是好的做法。

请注意:我是 MySQL 服务器的新手,这个问题可能听起来很基础,不适合我正在尝试学习的一些旧的 users.But。 谢谢

大小最重要,因为所有操作都需要更长的时间。没有办法解决这个问题。否则很多备份策略保持不变

首先,复制不是备份。它是为了可用性和可扩展性。复制(使用延迟的从属应用)最多是一个快照。一旦复制了错误的 update/delete/truncate,数据就消失了。

您的 "best strategy" 取决于几个因素:
- 恢复时间 Objective(您需要恢复的速度)。
- Recovery Point Objective(恢复到什么时间点)。
- 许多小型数据库?一个 2 TB 的数据库?
- 你要花多少钱在资源上。
- 您是否遵守能够将数据恢复 1、3、7 年等的监管要求?

使用 Persona Xtrabackup 的物理备份将能够为您的服务器上的所有数据库拍摄时间点快照。 (注意是使用 myisam 引擎的非事务表)

使用 mysqldump 的逻辑备份可能备份速度更快、体积更小、压缩效果更好,但在恢复时需要建立索引,因此可能需要更长的时间。

所以...在完美的情况下,定期进行物理和逻辑备份。对二进制日志进行连续备份 (https://www.percona.com/blog/2012/01/18/backing-up-binary-log-files-with-mysqlbinlog/)。只要您的奴隶是最新的,您就可以在那里进行备份,以免影响您的主人。要确定您的备份频率、还原备份,以及应用 1 周日志所需的时间。你遇见你的"Recovery Time Objective"了吗?不,需要更频繁的备份。

此外,请访问 https://dba.stackexchange.com 以更深入地了解拥有数据库的这些操作挑战 :)