MySQL 备份和恢复 理论知识

时间:2023-03-09 21:44:39
MySQL 备份和恢复   理论知识
  • 为什么要备份
数据无价
  • 制定备份策略的注意点
1:可容忍丢失多少数据
2:恢复需要在多长时间内完成
3:备份的对象
    数据、二进制日志和InnoDB的事务日志、SQL代码(存储过程和存储函数、触发器、事件调度器等)、服务器配置文件
  • 备份类型
(1)站在数据集是否完整的角度上
    完全备份,部分备份
(2)站在完全备份的基础上
    增量备份,差异备份
(3)站在是否影响数据集读写的角度上
    热备份:在线备份,读写操作不受影响;
    温备份:在线备份,读操作可继续进行,但写操作不允许
    冷备份:离线备份,数据库服务器离线,备份期间不能为业务提供读写服务
    MyISAM存储引擎: 能够实现温备
    InnoDB存储引擎: 能够实现热备
(4)站在数据存储角度上
    物理备份:直接复制数据文件进行的备份
    逻辑备份:从数据库中“导出”操作数据的SQL语句,再执行,实现备份
  • 备份策略需要考虑的因素
持锁的时长
备份过程时长
备份负载
恢复过程时长
  • 数据库备份具体解决方案
数据:完全备份 + 增量备份
备份:物理 + 逻辑
  • 备份工具介绍
mysqldump: 逻辑备份工具,适用于所有存储引擎,温备;但是对InnoDB存储引擎支持热备;
scp, tar 等文件系统工具:物理备份工具,适用于所有存储引擎;冷备;完全备份,部分备份;
lvm2的快照:几乎热备;借助于文件系统工具实现物理备份;
mysqlhotcopy: 几乎冷备;仅适用于MyISAM存储引擎
  • 实施备份期间,备份工具的常用组合
(一)mysqldump+binlog:
     mysqldump:完全备份,通过备份二进制日志实现增量备份
(二)lvm2快照+binlog:
    lvm2快照使用scp、tar进行物理完全备份
    通过备份二进制日志实现增量备份
(三)xtrabackup(最佳)
    由percana提供的热备,在物理层,实现完全备份和增量备份