用户名称: 用户密码:
网站建设快速入口 | 宏蓝主页 | 加入收藏

广州网站建设|网站制作公司|网页设计论坛--广州宏蓝科技公司官方论坛宏蓝科技内部专区技术专区技术讨论区mysql增量备份
    
 
mysql增量备份
发起人:momo  回复数:0  浏览数:5385  最后更新:2012/11/23 10:14:30 by momo
分享到: 微信 更多

选择查看  帖子排序:
2012/11/23 10:14:30
momo





营长

角  色:管理员
发 帖 数:988
经 验 值:1863
注册时间:2012/4/17
联系 收藏 编辑 删除
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,进一步恢复最新的数据。


客服热线:020-85562980 客服邮箱:service@macroblue.net
联系地址:广州中山大道89号国家软件产业基地天河软件园华景园区12-S05
版权所有 © 2003-2011    网站建设宏蓝科技Macroblue.NET