MySQL备份概述

Ⅰ、备份类型

这里介绍三种全量备份mysql

1.1 热备(hot backup)

  • 在线备份
  • 对应用基本无影响(应用程序读写不会阻塞,可是性能仍是会有降低,因此尽可能不要在主上作备份,在从库上作)

1.2 冷备(cold backup)

  • 备份数据文件,须要停机
  • 备份datadir目录下的全部文件

只拷贝这个目录能够吗?实际undo、redo、binlog能够配置不一样的目录,可能不在datadir下sql

特殊状况:数据库

create table zz(a int) data directory = '/tmp/'

有这个状况怎么办呢?备份时候解析每一个表的data directory?因此 不建议用这东西建表工具

tips:
问:redo、undo、binlog放hdd上,数据放ssd?性能

答:不必,如今ssd很便宜,顺序性也不差,三四块盘作个raid蛮好的,不必分开,话说回来,冷备机会很少,要停机,不可接受code

1.3 温备(warm backup)

  • 针对myisam的备份(myisam不支持热备),备份时候实例只读不可写
  • 对应用影响很大
  • 一般加一个读锁

Ⅱ、MySQL热备工具

2.1 ibbackup

  • 官方备份工具
  • 收费
  • 物理备份

2.2 xtrabackup

  • 开源社区备份工具
  • 开源免费,上面那东西的免费版本(老版本有问题,备份出来的数据可能有问题)
  • 物理备份 

2.3 mysqldump

  • 官方自带备份工具 开源免费
  • 逻辑备份(速度慢)
  • 不阻塞dml,阻塞ddl

Ⅲ、逻辑备份vs物理备份

- 逻辑备份 物理备份
备份方式 备份数据库逻辑内容 备份数据库物理文件
优势 备份文件相对较小,只备份表中的数据与结构 恢复速度比较快(物理文件恢复基本已经完成恢复)
缺点 恢复速度较慢(须要重建索引,存储过程等) 备份文件相对较大(备份表空间,包含数据与索引,碎片)
对业务影响 缓冲池污染(把全部数据读一遍,读到bp中),I/O负载加大 I/O负载加大
表明工具 mysqldump ibbackup、xtrabackup

tips:
通常从如下几个维度考虑备份方式:索引

  • 备份速度
  • 恢复速度
  • 备份大小
  • 对业务影响
相关文章
相关标签/搜索