mysql增量备份与恢复方法

发布时间:2019-10-02编辑:脚本学堂
mysql增量备份的方法,mysql数据库可以每天完整备份,但当数据库很大时,可以调整备份策略为每周一次完整备份,每天一次增量备份,并介绍了mysql数据备份的恢复方法。

数据量小时,mysql/ target=_blank class=infotextkey>mysql数据库可以每天完整备份,但当数据库很大时,可以调整备份策略为每周一次完整备份,每天一次增量备份。

增量备份的原理:
使用了mysql的二进制日志,必须启用二进制日志功能。
 
一、增量备份
1、比如,星期天下午11点做一次完整备份:
 

mysqldump --single-transaction --flush-logs --master-data=2 --all-databases > fullbackup_sunday_11_PM.sql

在sql文件中会看到两行:
– Position to start replication or point-in-time recovery from
– CHANGE MASTER TO MASTER_LOG_FILE=’bin-log.000002′, MASTER_LOG_POS=107;
第二行包含了需要的信息,是指备份后所有的更改将会保存到bin-log.000002二进制文件中。

2、然后,在星期一下午11点我们来做一次增量备份:
 

mysqladmin flush-logs


这时会产生一个新的二进制日志文件bin-log.000003,bin-log.000002则保存了自星期天下午11点到现在的所有更改,只需要把这个文件备份到安全的地方即可。

然后,星期二又做增量备份,还是执行同样的命令,这时保存bin-log.000003文件。

二、恢复备份
比如星期三中午12点出现了故障,这时需要恢复,我们首先导入星期天的完整备份:
 

mysql < fullbackup_sunday_3_AM.sql

接着,导入星期一和星期二的增量备份:
 

mysqlbinlog bin-log.000002 bin-log.000003 | mysql

已恢复了所有备份数据,还可以找到bin-log.000004,进一步恢复最新的数据。