数据库的备份介绍
一、运维在数据备份与恢复中的职责
1、指定备份策略
全备:多长时间一次,建议一周一次全备
增量:每天增量备份
备份时间:凌晨2点到3点,业务不繁忙的时间段备份
自动备份:定时任务
手动备份:自动备份失败;特使原因需要手动备份
2、日常备份检查
3、定期在测试库恢复演练
定期在测试库上对备份的数据做回复演练,确保数据备份的可用性。
时间一般为:一个季度或者半年,重要企业可以设备为1个月
4、故障恢复
通过现有的备份,可以将数据恢复到故障之前的时间点。
5、数据库迁移
二、备份类型
1、热备
在数据库正常业务时,备份数据,并且能够一致性恢复(只能为innodb的数据库引擎)。
对业务的影响非常小。
2、温备
锁表备份,只能查询不能修改(myisam)。
只影响写操作。
3、冷备
关闭数据库业务,在数据库没有任何操作的情况下,进行数据备份。
停止业务。
三、备份的方式
1、逻辑备份
基于SQL语句进行备份
使用mysql自带的数据库命令
mysqldump 备份数据库
mysqlbinlog 截取二进制日志
2、物理备份
基于磁盘书籍文件备份
xtrabackup(XBK): percona第三方备份工具
Mysql Enterprise Backup(MEB)
3、逻辑备份和物理备份的比较
mysqldump (MDP)
优点:
1.不需要下载安装
2.备份出来的是SQL,文本格式,可读性高,便于备份处理
3.压缩比较高,节省备份的磁盘空间
缺点:
4.依赖于数据库引擎,需要从磁盘把数据读出然后转换成SQL进行转储,比较耗费资源,数据量大的话效率较低
建议:
100G以内的数据量级,可以使用mysqldump
超过TB以上,我们也可能选择的是mysqldump,配合分布式的系统
1EB =1024 PB =1000000 TB
xtrabackup(XBK)
优点:
1.类似于直接cp数据文件,不需要管逻辑结构,相对来说性能较高
缺点:
2.可读性差
3.压缩比低,需要更多磁盘空间
建议:
100GB~1TB使用
四、备份策略
备份方式:
全备:全库备份,备份所有数据
增量:备份变化的数据
逻辑备份=mysqldump+mysqlbinlog
物理备份=xtrabackup_full+xtrabackup_incr+binlog或者xtrabackup_full+binlog
备份周期:
根据数据量设计备份周期
比如:周日全备,周1-周6增量