我最好提供一个背景故事,以便您能全面地了解情况。
我正在筹备一项新业务,预计将于 2012 年 4 月开始,为此我正在做好各个方面的准备。业务的一部分将是网站托管。
我在这方面经验丰富,之前管理过 VPS。就我而言,我一开始使用两台服务器;第一台只是 Web 服务器,第二台有邮件和数据库。
虽然 MS SQL 数据库最初不会向客户提供,但可能会也可能不会通过“升级”等方式添加。无论如何,我安装了 2008 Express,因为我需要它来使用网站面板(我最终可能会也可能不会使用)。否则,MySQL 数据库可供客户免费使用。
我正在思考这两个数据库系统的备份策略。
对于 MS SQL,我每天在 00:00 进行一次完整备份,并在 01:00 至 23:00 每小时进行一次差异备份。我认为目前这是备份“控制面板”的最佳方式 - 当我上线时,我可能最终每 10 分钟进行一次日志备份。
至于 MYSQL,似乎我无法像使用 MS SQL 那样进行差异分析,MS SQL 的首选操作是每次都进行完全转储。我相信您可以想象磁盘空间会随着时间的推移很快填满。
我的主要问题是:我应该如何每小时备份 MySQL?
每天进行一次完整备份对于客户来说还不够,无论是否以书面形式进行。我确实意识到,实际上客户要对自己的数据和备份负责,事实上大多数公司都是这样做的,但我想增加额外的安全网,这可能会有所帮助,也可能不会有所帮助 - 如果你愿意的话,尽最大努力。
我在某处读到,将 MySQL 复制到另一台机器,然后每小时进行一次转储可以解决我的问题,但我会担心延迟。我读到过复制会导致瓶颈。现在还是这样吗?
理想情况下,我希望有另一台服务器用于暂存/备份/复制,但目前预算不够。也许当我有一定数量的客户时,我会这样做。
不管怎样,这几乎就是全部内容了。
感谢您的时间和帮助。
附言
我想提一下,以防万一不明显,我正在使用 Windows Server 作为机器人 VPS - 在本例中是 2008 R2 数据中心。
此外,除了备份之外,我还通过网络将它们发送到 iDrive 作为在线备份。我的想法非常有效,即我创建与以前完全相同名称的备份文件。这样,在在线备份中,我只使用了本地备份文件的数据大小,同时保持 30 天的“上一个版本”在线设置。
因此,我可以告诉我的客户,我有 30(分钟)天的备份,而实际上我正式只使用了一个备份集空间。
答案1
你不应该弄乱每小时的转储。你可以只存档 mysql 每日的 binlog。结合每晚的转储,你可以恢复数据库到任意时间点
看一下这个描述: