Mat*_*hew 7 mysql backup database svn
我在stackoverflow上问过这个问题,但有人指出最好在这里问。
让我们假设 RAID NAS 上有 Subversion 和 MySQL。备份数据的最佳做法是什么?
我正在考虑将 mysqldumps 置于 subversionn 控制之下,然后可能通过 7zipping 整个过程定期备份 svn 存储库。
除非您将 svn 备份存储在不同的物理硬盘驱动器上,否则对存储库进行备份似乎没有帮助。这是真的?如果不是,为什么?
最后,应该多久备份一次,应该保存多少?
首先,不要对数据库备份进行版本控制。
备份是备份 - 一个时间点。使用版本控制听起来是个好主意,但要意识到这意味着如果您遇到灾难性故障并需要恢复数据库,则需要恢复整个 SVN 存储库 (ZOMG Freaking HUGE )。这可能是您无法承受的额外停机时间。
其次,确保您的备份以某种方式离开现场。
如果您因为弄乱并删除了表而需要恢复数据,则在本地计算机上进行备份非常有用。如果您的服务器的磁盘死机,这对您绝对没有好处。
选项包括外部硬盘驱动器或使用 rsync 将备份传送到远程机器。甚至还有像 rsync.net这样的存储服务提供商专门从事这方面的工作。
第三,关于备份频率:只有你知道你需要多久做一次。
我现在的公司有一个从数据库,可以近乎实时地复制我们的生产数据。该从设备每晚都备份到本地机器,然后同步到异地存储设施。
如果生产硬件出现故障,我们会激活从站。数据丢失应该最小,停机时间也应该如此。如果表被意外删除,我们可以从本地备份中恢复(最多丢失 1 天的数据)。如果发生灾难性事件,我们可以从异地备份中恢复(这需要一段时间,但同样只会丢失最多 1 天的数据)。
这种备份方案是否适合您取决于您的数据:如果它经常更改,您可能需要研究一种备份策略,使您能够进行时间点恢复(日志传送解决方案通常可以做到这一点)。如果它主要是静态的,您可能只需要每月备份一次。关键是确保您在发生数据更改后的合理时间内捕获数据更改,确保在发生重大事件时不会丢失这些更改。