mysql实现增量备份_MySQL

WBOY
풀어 주다: 2016-06-01 13:31:34
원래의
1062명이 탐색했습니다.

bitsCN.com

 

mysql实现增量备份_MySQL

 

有点要注意 如果你误删了表 想通过这个恢复 必须恢复日志里面有创建表的日志 不然的话是无法回复的  就是必须是从你开始创建表的时候就已经记录日志了 

 

恢复到哪个位置 就按照哪个位置来计算

 

mysql  5.0不支持增量备份

 

增量备份定义

 

    mysql数据库会以二进制形式 自动把用户对mysql数据库的操作 记录到文件 当用户希望恢复的时候可以使用备份文件 进行回复

 

    增量备份会记录 (dml 语句 建表语句 不会记录select语句)

    记录的 (a 操作语句本身 b 操作的时间  c 操作的位置 position)

 

实例

    配置 my.ini文件 或者 my.conf 启用二进制备份

   log-bin=e:/mysqldb/logbin.log    先设置mysql日志存放位置

 

    配置好后 再启动模样上去了 就会在备份目录多了2个文件 

    logbin.index  这个是索引文件 有哪些增量备份

    logbin.000001   存放用户对数据库操作的文件

 

    如果你想看看 这个 里面是什么东西 我们可以使用 mysql的bin目录下面的一个工具查看 

    就是 mysqlbinlog.exe  这个东西看 

    

    首先用cmd进入 mysql的 bin目录下面 然后执行

    mysqlbinlog e:/mysqldb/logbin.000001

    

mysql 对于你的每一次操作 都会记录一次时间 同时 给你分配一个位置 (pos)

换句话说 以后我们恢复 可以根据时间点来恢复 或者根据位置来恢复

 

比如说 我们把一个表个drop 了 那么我们只要把表恢复到 drop之前就好了 

 

时间点恢复

    我们可以画个流程图

    logbin.000001

    insert ......   3       2013-07-23 17:57:00

    update .....   4    2013-07-23 17:59:00

     insert ......   100       2013-07-23 19:57:00

    drop  ...        101    2013-07-23 20:57:00

    

    恢复的话可以这么写

    mysqlbinlog  --stop-datatime="2013-07-23 20:50:00" e:/mysqldb/logbin.000001

    上面这句的意思是 一直恢复到 2013-07-23 20:50:00  停止

     mysqlbinlog  --start-datatime="2013-07-23 20:50:00" e:/mysqldb/logbin.000001

    上面这句的意思是 从2013-07-23 20:50:00  开始恢复

 

按照位置来恢复

        mysqlbinlog  --stop-position="100" e:/mysqldb/logbin.000001  | 

        上面这个语句意思是 恢复到100的位置

 

真实性恢复

按照位置恢复

mysqlbinlog  --stop-position=4590 e:/mysqldb/logbin.000001  | mysql -uroot -p

按照时间恢复

mysqlbinlog  --stop-datetime="2013-07-24 18:17:19" e:/mysqldb/logbin.000001  | mysql -uroot -p

 

可以控制从什么时候开始 到什么是结束

mysqlbinlog --start-position=4 --stop-position=106 yueliangd

ao_binglog.000001 > c://test1.txt

 

 

在工作中 可以每周一做一个全备份 就是 mysqldump  

然后 启用我们的增量备份 把过期时间设为 大于等于7天

如果数据库崩溃了 就可以通过时间和位置来恢复

 

mysql实现增量备份_MySQL
mysql实现增量备份_MySQL

 

如何关闭 mysql 自动记录日志

找到log-bin=mysql-bin,前面添加#即可。

个别版本需要关闭

binlog_format=mixed前面添加#,否则会出现mysql无法启动。

bitsCN.com
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!