> 데이터 베이스 > MySQL 튜토리얼 > MYSQL备份:启用二进制日志功能的MYSQL增量备份

MYSQL备份:启用二进制日志功能的MYSQL增量备份

WBOY
풀어 주다: 2016-06-07 16:16:43
원래의
1143명이 탐색했습니다.

小量的数据库我们可以每天进行完整备份,因为这也用不了多少时间,但当数据库很大时,我们就不太可能每天进行一次完整备份了,而且改成每周一次完整备份,每天一次增量备份类似这样的备份策略。增量备份的原理就是使用了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

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

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

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

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿