首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mysql备份策略?

Mysql备份策略?
EN

Database Administration用户
提问于 2012-08-16 15:06:38
回答 4查看 7.1K关注 0票数 6

我们有一个无害数据库mysql数据库,所以我们丢失了许多不同的mysql备份策略。有些人谈论mysqldump,有些人谈论第三部分工具。我们还计划运行分区的一些表。有什么好的工具来帮助这个任务吗?

EN

回答 4

Database Administration用户

发布于 2012-08-16 18:43:52

今天,几乎没有关于InnoDB备份的任何讨论(当然,在我看来)。Percona的Xtrabackup是一种广泛的、功能丰富和稳定的解决方案,它提供:

  • 热备份(数据库上没有锁)
  • 增量备份(通过备份页面而不是语句)
  • I/O节流(允许限制备份I/O以减轻机器/磁盘的负载)
  • 备份在备份结束时是一致的(相对于备份启动时的时间)。

Xtrabackup来源于InnoDB热备份,现在被称为MySQL企业备份。还有额外的包装脚本,允许额外的功能重置。

较小的数据库可能会从常见的mysqldump中受益。这取决于您的数据库大小和流量。mysqldump是带有--single-transaction的事件,它在DB服务器上放置了很高的负载,并为积累锁做了准备。它没有你想象的那么热(参见我的这个职位关于备份温度)。

我经常使用LVM快照。最大的好处是这些都是DB无知的,所以没有任何与DB相关的bug会影响到这种类型的备份。最大的缺点是I/O过高,请查看mylvmbackup

如果您有ZFS或其他支持快照的文件系统,这可能是一个很好的解决方案。如果您有一个支持快照的存储设备,那也很好。所有快照都是DB不知道的,尽管您通常希望编写这个All mylvmbackup的脚本,以便及时捕获完成备份的时间点(按DB顺序)。

票数 4
EN

Database Administration用户

发布于 2012-08-16 19:26:12

我是个老派的DBA,听我说.

我以前在DBA StackExchange中关于MySQL

备份的文章

在我之前的文章中,我建议并行执行mysqldumps以及一个文件。我甚至建议试试XtraBackup。我不想把你限制在mysqldump。有些数据库太大了,因此LVM快照是唯一可能的解决方案。

票数 3
EN

Database Administration用户

发布于 2012-08-16 15:36:11

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

  • 当必须从备份恢复数据时,可接受的停机时间是多长时间?
  • 恢复总是意味着所有的数据库吗?或者是否有更频繁地备份特定、更关键的表的用例?
  • 在服务器上进行备份的可接受负载是什么?意思是,你会有一个备份副本吗?或者,作为一个组织,您是否手头拮据,必须对您唯一的奴隶运行此操作(我希望您不要说只有一个也是唯一的DB server :)
  • 支付备份解决方案是一种选择吗?还是更喜欢免费?

这就是我要按优先次序处理这一问题的方式。这就是我客观答案的结尾:)

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

对于现在很大一部分DB设置来说,使用mysqldump作为唯一的备份解决方案是不可伸缩的。它速度慢,创建巨大的文件,导入mysqldump需要花费很长时间,而且让mysqldump为您提供一个真正的“时间点”恢复是很棘手的,而且所有数据都是一致的。我使用mysqldump备份同样非常关键且更容易导致用户错误(如用户表或user_profile)的v小表(每个表不到200 or )。当我回到这些情况时,常见的用例是有人问“这个用户什么时候更改了?为他们设置X的值是多少”,所以这不是数据丢失,而是数据混乱的情况。对于真正的“着火的世界”备份,我使用Percona的xtrabackup。它是免费的,开源的,在非常积极的开发,非常容易自动化。

票数 2
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/22612

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档