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