![我应该选择哪种备份方法来备份高负载服务器上的数据库](https://linux22.com/image/579029/%E6%88%91%E5%BA%94%E8%AF%A5%E9%80%89%E6%8B%A9%E5%93%AA%E7%A7%8D%E5%A4%87%E4%BB%BD%E6%96%B9%E6%B3%95%E6%9D%A5%E5%A4%87%E4%BB%BD%E9%AB%98%E8%B4%9F%E8%BD%BD%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E7%9A%84%E6%95%B0%E6%8D%AE%E5%BA%93.png)
我有一个 mysql (MyISAM) 数据库,大小约为 30Gb。它有一个大表(还有一些较小的表,但没什么区别)。它每秒执行大约 2000 次选择(按主键选择单行),每秒执行 300 次更新,每秒执行 50 次插入。我们有大约 10 台具有类似数据库的独立服务器。
我想备份该数据库(最好是增量备份)而不使其脱机,该怎么做?
答案1
我用这个脚本mylvm备份在 250+Gb DB 等上。运行良好,拍摄快照后,它会执行并行 mysql 来验证快照是否有效。
答案2
如果您想使用标准 MySQL 实用程序进行备份,您可以配置一个从属服务器并在那里使用 MySQL 转储。
另一种方法是使用 Linux LVM 或 Solaris/FreeBSD ZFS 快照,使用您想要的任何命令复制快照,然后发布快照。
答案3
如果数据库运行在中央存储机器上,您可以利用该机器的快照。通常,这意味着将数据库置于备份模式,以便将所有写入刷新到磁盘,然后开始在内存中缓存,使用存储拍摄快照,然后将数据库恢复到正常模式。然后,您可以将该快照挂载到备份服务器上并对其进行任何操作,包括增量备份。
此外,当您的数据库在月底或季度末查询量很大时(例如财务应用程序),通常会使用此方法。您可以不使用快照,而是将一致的快照克隆到其他磁盘,并将所有报告(这可能会导致生产性能下降)重定向到其他存储资源。