《每日一咸》数据库备份之咸~~~~


mysql备份一般都三种备份种类:完全备份、差异备份、增量备份。

完全备份

备份全部选中的文件夹,并不依赖文件的存档属性来确定备份那些文件。(在备份过程中,任何现有的标记都被清除,每个文件都被标记为已备份,换言之,清除存档属性)。

差异备份

差异备份是针对完全备份:备份上一次的完全备份后发生变化的所有文件。(差异备份过程中,只备份有标记的那些选中的文件和文件夹。它不清除标记,既:备份后不标记为已备份文件,换言之,不清除存档属性)。

在这里插入图片描述

增量备份

增量备份是针对于上一次备份(无论是哪种备份):备份上一次备份后,所有发生变化的文件。(增量备份过程中,只备份有标记的选中的文件和文件夹,它清除标记,既:备份后标记文件,换言之,清除存档属性。)

在这里插入图片描述

备份的组合

不同备份类型可以存在一定组合,下面的示例供参考

完全备份和差异备份

在星期一进行完全备份,在星期二至星期五进行差异备份。如果在星期五数据被破坏了,则你只需要还原星期一完全的备份和星期四的差异备份。这种策略备份数据需要较少的时间,但还原数据使用较少的时间。

完全备份和增量备份

在星期一进行完全备份,在星期二至星期五进行增量备份。如果在星期五数据被破坏了,则你需要还原星期一正常的备份和从星期二至星期五的所有增量备份。这种策略备份数据需要较少的时间,但还原数据使用较多的时间。

备份脚本

1、需要开启log-bin日志

vim /etc/my.cnf
log-bin=mysql-bin #开启二进制日志

2、增量和全备脚本

#!/bin/bash
MYSQL_BACKUP=`date +%Y%m%d`
MYSQL_LOG_BIN=`ls /var/lib/mysql/mysql-bin.[0-9]* | head -n 1 | sort -rg | head -n 1`
num=$1
if [ ! -d /opt/$MYSQL_BACKUP ];then
	mkdir -p /opt/$MYSQL_BACKUP
fi
#全备
mysql_all(){
	mysqldump -uroot --flush-logs --master-data --all-databases > /opt/$MYSQL_BACKUP/$MYSQL_BACKUP.sql
}

#增备
mysql_increment(){
	mysqldump -uroot --flush-logs
	cp $MYSQL_LOG_BIN  /opt/$MYSQL_BACKUP
}

case $num in
	1)
		mysql_all
		;;
	2)
		mysql_increment
		;;
	*)
		break
esac
#可以把脚本加入定时任务定时备份

MySQL分库自动备份脚本
MySQL分表自动备份脚本
MySQL入侵邮件报警脚本
MySQL分库分表备份脚本

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值