MySQL备份

一、备份方式与备份类型

1. 备份的必要性

生产环境中,为了防止硬件故障、软件故障、自然灾害、误操作等各种原因导致的数据库数据丢失后能恢复到事故之前的状态,我们需要对数据库进行备份和恢复操作。数据库的备份和恢复是非常重要的工作,数据的备份不是最终目的,数据的恢复才是

备份时应该注意的事项
  1. 最多能容忍多少数据丢失。
  2. 恢复数据需要在多长时间内完成。
  3. 需要恢复那些数据。
  4. 定期测试备份的可用性并提高恢复操作的效率。
  5. 备份时的服务器负载。
  6. 锁定资源的时长。

2. 备份的类型

a. 按备份数据集合范围分类
  • 完全备份:full backup,备份全部字符集。
  • 增量备份: incremental backup 上次完全备份或增量备份以来改变了的数据,不能单独使用,要借助完全备份,备份的频率取决于数据的更新频率。
  • 差异备份:differential backup 上次完全备份以来改变了的数据。
数据集合范围
完全备份
部分备份
增量备份
差异备份
b. 按照操作对象分类
  • 物理备份:直接从磁盘复制数据文件进行备份。
  • 逻辑备份:从数据库导出数据另存在一个或多个文件中,将数据转为具体的SQL语句。
c. 按照数据服务备份时的运行状态分类
  • 冷备(cold backup):需要关mysql服务,读写请求均不允许状态下进行。
  • 温备(warm backup): 服务在线,但仅支持读请求,不允许写请求。
  • 热备(hot backup):备份的同时,业务不受影响。
d. 存储引擎支持的备份方式
存储引擎冷备温备热备
MyISAM×
InnoDB

3. 备份策略

  1. 直接cp,tar复制数据库文件
  2. mysqldump+复制BIN LOGS
  3. lvm2快照+复制BIN LOGS
  4. xtrabackup
场景
  • 如果数据量较小, 可以使用第一种方式, 直接复制数据库文件
  • 如果数据量还行, 可以使用第二种方式, 先使用mysqldump对数据库进行完全备份, 然后定期备份BINARY LOG达到增量备份的效果
  • 如果数据量一般, 而又不过分影响业务运行, 可以使用第三种方式, 使用lvm2的快照对数据文件进行备份, 而后定期备份BINARY LOG达到增量备份的效果
  • 如果数据量很大, 而又不过分影响业务运行, 可以使用第四种方式, 使用xtrabackup进行完全备份后, 定期使用xtrabackup进行增量备份或差异备份

二、备份工具

  1. mysqldump:mysql服务自带的备份工具。mysqldump是一个逻辑备份工具,它的本质是将数据库转为可执行SQL脚本。可以用来做完全备份和部分备份,支持InnoDB存储引擎的热备功能,MyISAM存储引擎的温备功能。
  2. 系统自带的cp/tar工具:这是一种物理备份,这种备份的原理是基于快照实现的,快照(请求一个全局锁),之后立即释放锁,达到几乎热备的效果。需要注意的是不能仅仅只备份数据,要同时备份事务日志,并且要求数据和日志在同一逻辑卷。
  3. xtrabackup:由Percona开发的很强大的开源工具,支持对InnoDB做热备,物理备份工具。在下篇博客将具体介绍此工具并做实际演示。

三、总结

备份工具备份速度恢复速度便捷性功能场景
cp一般、灵活性低很弱少量数据备份
mysqldump一般、可无视存储引擎的差异一般中小型数据量的备份
lvm2快照一般、支持热备、速度快一般中小型数据量的备份
xtrabackup较快较快实现innodb热备、对存储引擎有要求强大较大规模的备份
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dadeity

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值