mysql+自动化数据备份_mysql数据库自动化完整备份和增量备份

mysql数据库自动化完整备份和增量备份

增量备份,为了增强mysql数据库的安全性和完整性,需要对数据进行备份。这里我们采用的策略是每周五下午5:30进行一次完整备份;每天的6:00、12:10、17:00进行增量备份。

1.完整备份脚本如下:(备份之后并打包存储)

7f49a658be4b1134856ecb47a40fd5c8.png

2.增量备份脚本如下:(将生成的二进制文件内容读取出来并导入一个新的sql文件中)

41a09b98e43756abb9e0a3023c7e477d.png

增量备份的前提时,要在mysql的配置文件里打开二进制功能:

log-bin=mysql

3.将这两个加进计划任务里

ad6ebacf2b38e775eb99d5efeb8d732c.png

4.执行结果:

数据库备份全部文件存放路径:/backup/mysqldb_full

数据库增量备份存放路径:/backup/mysqldb_add

完整备份的文件: (路径在/backup/mysqldb-full/20150525,以每天的日期作为文件名,*full.sql为完整备份文件,*add.sql为增量备份文件)

7cfd350faa0555260a017311bce0c602.png

打包的备份文件:(路径在 /backup/mysql_backup)

f39ccefe7e25121ff3dcffa0d7209ec1.png

生成的二进制文件:

48a63aec49520797b28679fc88113bbc.png

5.数据恢复:

(1)恢复完整备份方式;

mysql -p  

(2) 恢复增量备份

mysqladmin bin-log.000001 | mysql -uroot -p

基于时间点的恢复:如果误删了一张表,使用完全恢复是没有用的,因为日志里同样也保留着删除的sql语句,所以我们需要恢复到误操作前的状态,然后跳过误操作的语句。假如我在20:00误删了一张表,可以使用以下语句恢复:mysqlbinlog --stop-date="2012-06-05 19:59:59" /var/log/mysql-bin.000001 | mysql -uroot -p

跳过误删除的时间点,再执行:mysqlbinlog --start-date="2012-06-05 20:01:00" /var/log/mysql-bin.000001 | mysql -uroot -p

基于位置点的恢复:基于位置点的恢复可以得到更为精确的数据。d933e51e2efe75309f108b011eeb3418.png如上图,drop table test这条语句的起始位置是889107,终止位置是889189,那么我们可以使用于以下语句进行恢复:mysqlbinlog --stop-position="889107" /var/lib/mysql/mysql-bin.000001|mysql -uroot -p

mysqlbinlog --start-position="889189" /var/lib/mysql/mysql-bin.000001|mysql -uroot -p

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值