mysql备份策略?

new*_*e14 6 mysql innodb mysqldump backup

我们有一个 innodb mysql 数据库,所以我们迷失了许多不同的 mysql 备份策略。有人谈论mysqldump,有人谈论第三方工具。有些表我们还计划运行分区。有什么好工具可以帮助完成这项任务?

Tec*_*url 2

选择备份策略时需要考虑的重要事项:

  • 必须从备份恢复数据时可接受的停机时间有多长
  • 恢复总是意味着所有数据库吗?或者是否有更频繁地备份特定的、更关键的表的用例?
  • 进行备份的服务器上可接受的负载是多少?意思是,你会有一个专门用于备份的副本吗?或者你作为一个组织资金紧张,并且必须针对你唯一的从服务器运行这个(我希望你不要说只有一个数据库服务器:))
  • 是否可以选择付费购买备份解决方案?还是免费更可取?

这就是我将按照优先顺序解决这个问题的方法。这就是我的客观答案的结束:)

现在,根据我的经验,主观部分:)

对于当今大部分数据库设置来说,使用 mysqldump 作为唯一的备份解决方案是不可扩展的。它很慢,创建巨大的文件,导入 mysqldumps 需要很长时间,而且让 mysqldump 为您提供真正的“时间点”恢复并且数据全面一致是很棘手的。我使用 mysqldump 来备份 v 个小表(每个小于 200MB),这些表也非常关键并且更容易导致最终用户出错(例如 user 表或 user_profile)。当我回到这些时,常见的用例是有人问“这个用户什么时候改变的?为他们设置 X 的价值是什么”,所以这并不是真正的数据丢失,而是数据混乱的情况。对于真正的“火上浇油”备份,我使用 Percona 的 xtrabackup。它是免费的、开源的、正在非常活跃的开发中,并且非常容易实现自动化。