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

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

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 自动记录日志

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

个别版本需要关闭

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
















mysql实现增量备份的更多相关文章

  1. MYSQL数据库增量备份

    MySQL数据库增量备份,在这之前修改我们的数据库配置文件/etc/my.cnf开启bin-log日志功能即可.接下来是我参考了下网上的一些方法,自己写的,主要还是要能学到他的一些思路和方法. #fu ...

  2. 通过innobackupex实现对MySQL的增量备份与还原

    备份 增量备份是基于完整备份的,所以我们需要先做一次完整备份: innobackupex --password=test /backup/ 备注:test是我的MySQL服务的root用户的密码,/b ...

  3. mysql 二进制文件增量备份

    1.首先在my.cnf下添加二进制文件路径(windows下文件名称为my.ini) 在[mysqld]下添加 log-bin=mysql-bin 2.centos下默认安装mysql 5.6,数据默 ...

  4. Python 生产环境MySQL数据库增量备份脚本

    MySQL数据库常用的办法是通过MySQLdump导出sql进行备份,但是不适合数据量很大的数据库,速度,锁表是两个严重的问题.前面写了一遍文章介绍xtrabackup的热备工具,见 http://w ...

  5. mysql xtrabackup增量备份

    mysql 增量备份策略 周一全备,其他增量备份,根据业务需要,设定保留日期,如保留一月. 增量备份步骤; 1 创建全备 2 根据全备目录,创建增量备份 3 第二次增量备份根据第一次增量备份目录,依次 ...

  6. mysql实时增量备份

    采用binlog日志的好处 掌控所有更改操作,必要时可用于恢复数据 数据库主从复制的必要条件 [root@localhost~]# vim /etc/my.cnf [mysqld] .. .. log ...

  7. mysql的增量备份与全备的脚本

    mysql全量备份.增量备份.开启mysql的logbin日志功能.在/etc/my.cnf文件中加入以下代码: [mysqld]log-bin = "/home/mysql/logbin. ...

  8. innobackupex实现对MySQL的增量备份与还原

    备份增量备份是基于完整备份的,所以我们需要先做一次完整备份: innobackupex --defaults-file=/etc/my.cnf --user root --password cheng ...

  9. Centos 6.5 实战-MySQL定时增量备份(2)

    首先在进行增量备份之前需要查看一下配置文件,查看 log_bin 是否开启,因为要做增量备份首先要开启 log_bin .首先,进入到 myslq 命令行,输入如下命令: [root@localhos ...

随机推荐

  1. 2048 swift

    AppearanceProvider.swift import UIKit protocol AppearanceProviderProtocol:class { func tileColor(val ...

  2. Java中匿名类的两种实现方式(转)

    使用匿名内部类课使代码更加简洁.紧凑,模块化程度更高.内部类能够访问外部内的一切成员变量和方法,包括私有的,而实现接口或继承类做不到.然而这个不是我说的重点,我说的很简单,就是匿名内部类的两种实现方式 ...

  3. 驱动里执行应用层代码之KeUserModeCallBack(WOW64是由三个动态库wow64.dll wow64win.dll wow64cpu.dll来实现)

    在驱动层(ring0)里执行应用层(ring3)代码,这是个老生常谈的技术,而且方法也挺多. 这种技术的本质:其实就是想方设法在驱动层里把应用层代码弄到应用层去执行. 比如在APC异步调用中,KeIn ...

  4. redis-cli批量删除时的坑

    redis-cli keys "*"|xargs redis-cli del tips: keys后面的*号,必须要加双引号,不然删不掉 # redis-cli keys *|xa ...

  5. 扯谈spring mvc之WebApplicationContext的继承关系

    spring mvc里的root/child WebApplicationContext的继承关系 在传统的spring mvc程序里会有两个WebApplicationContext,一个是pare ...

  6. 【HDOJ】1244 Max Sum Plus Plus Plus

    这题目一直wa,原来是因为我把JUDGE写错了,对拍了一下午都没检查出来.水DP啊. #include <cstdio> #include <cstring> #include ...

  7. UVA138 Street Numbers(数论)

    题目链接. 题意: 找一个n,和一个m(m < n),求使得1~m的和等于m~n的和,找出10组m,n 分析: 列出来式子就是 m*(m+1)/2 = (n-m+1)*(m+n)/2 化简后为 ...

  8. 设计模式(一): abstract factory抽象工厂模式 -- 创建型模式

    1.定义 为创建一组相关或相互依赖的对象提供一个接口,而且无需指定他们的具体类. 2.适用场景 1.一个系统要独立于它的产品创建.组合和表示. 2.一个系统要由多个产品系列中的一个来配置. 3.当你要 ...

  9. MVC4 Razor视图下使用iframe加载RDLC报表

    MVC视图下默认是不支持服务器端控件的,所以,为了能够通过report viewer控件加载报表,需要在MVC视图添加嵌入的页面. 起初在stackoverflow上找到一个解决方案,见这里.不过这里 ...

  10. IE浏览器下面要实现滤镜(transparent),必须要加filter

    遇到的问题是: ie9下面的a标签样式是background-color:transparent;导致链接失效,点不动.这个问题跟IE9及其以下a标签链接加 background-color:tran ...