DevOps

MySQL备份和恢复基础

2018-05-02  本文已影响0人  4e8ea348373f

一,为什么要备份

  1. 灾难恢复:硬盘故障,软件故障,自然灾难,黑客攻击,误操作等 eg:reid10只是硬件冗余,如果软件故障或人为误操作也是不能恢复数据,所以,也需要备份
  2. 测试 备份线上数据,用来测试
  3. 要点:1.能容忍最多丢失多少数据;2.恢复数据需要多长时间能完成;3.需要恢复那些数据
  4. 做还原测试,用于测试备份的可用性
  5. 还原演练

二,备份类型

  1. 完全备份 整个数据集
  2. 部分备份 数据子集
  3. 增量备份 最近一次完成备份后增量备份以来变化的数据 解压空间,还原起来麻烦
  4. 差异备份 仅备份最近一次完全备份依赖变化的数据
  5. 如果0点备份,11点数据库挂,可以使用二进制日志来恢复,但是耗时很长

三,备份方式

  1. 热备:读写操作均可执行
  2. 温备:读操作可执行,但写操作不成
  3. 冷备:读写均不能进行
  4. MyISAM 温备,不能热备
  5. InnoDB 热备

四,物理备份,逻辑备份

  1. 物理备份 直接复制数据文件进行备份 会浪费空间
  2. 逻辑备份,从数据库中导出一份数据另存二进行的备份 会丢失精度,浮点数,与存储引擎无关

五,备份时要考虑的因素

  1. 持锁多久
  2. 备份过程中的时长
  3. 备份负载
  4. 恢复过程的时长

六,备份什么

  1. 数据
  2. 二进制日志,InnoDB的事务日志
  3. 代码(存储过程,存储函数,触发器,事件调度器)
  4. 配置文件

七,备份工具

  1. mysqldump: 逻辑备份工具,使用所有的引擎,温备,完全备份,部分备份,对InnoDB存储引擎支持热备
  2. cp,tar 等复制归档工具,物理备份工具,冷备,完全和部分备份
  3. lvm2的快照,几乎热备,请求全局读锁,快速快照,利用cp,tar备份
  4. mysqlhostcopy: 几乎冷备,冷备工具,仅适用于MyISAM存储引擎

八,复制工具的选择

  1. mysqldump+复制binlog mysqldump 全量,复制binlog中指定时间范围的event
  2. lvm2快照+复制binlog
  3. xtrabackup 热备InnoDB(物理备份),完全和增量备份
上一篇下一篇

猜你喜欢

热点阅读