mysql实现增量备份



有点要注意 如果你误删了表 想通过这个恢复 必须恢复日志里面有创建表的日志 不然的话是无法回复的  就是必须是从你开始创建表的时候就已经记录日志了 ,恢复到哪个位置 就按照哪个位置来计算,mysql  5.0不支持增量备份。
增量备份定义:mysql数据库会以二进制形式 自动把用户对mysql数据库的操作 记录到文件 当用户希望恢复的时候可以使用备份文件 进行回复
    1.增量备份会记录 (dml 语句 建表语句 不会记录select语句
    2.记录的 (a 操作语句本身 b 操作的时间  c 操作的位置 position)
实例方法步骤
    1.配置 my.ini文件 或者 my.conf 启用二进制备份
   
    配置好后 ,再重启,就会在备份目录多了2个文件 
    logbin.index  这个是索引文件 有哪些增量备份
    logbin.000001   存放用户对数据库操作的文件

    2.如果你想看看 这个 里面是什么东西 我们可以使用 mysql的bin目录下面的一个工具查看 
    就是 mysqlbinlog.exe  这个东西看 
    
    首先用cmd进入 mysql的 bin目录下面 然后执行
    mysqlbinlog D:\wamp\bin\mysql\mylog.000001
    

mysql 对于你的每一次操作 都会记录一次时间 同时 给你分配一个位置 (pos)
换句话说 以后我们恢复 可以根据时间点来恢复 或者根据位置来恢复

数据恢复

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

    1.时间点恢复

    恢复的话可以这么写
    mysqlbinlog  --stop-datatime="2013-07-23 20:50:00"  D:\wamp\bin\mysql\logbin.000001  | mysql -uroot -p
    上面这句的意思是 一直恢复到 2013-07-23 20:50:00  停止
     mysqlbinlog  --start-datatime="2013-07-23 20:50:00"  D:\wamp\bin\mysql\logbin.000001  | mysql -uroot -p
    上面这句的意思是 从2013-07-23 20:50:00  开始恢复

恢复某个时间段的数据
 mysqlbinlog  --stop-datatime="2013-07-23 20:50:00"  --start-datatime="2013-07-23 20:50:00"  D:\wamp\bin\mysql\ logbin.000001 | mysql -uroot -p

     2.按照位置来恢复

        mysqlbinlog  --stop-position="100" D:\wamp\bin\mysql\logbin.000001  | mysql -uroot -p
        上面这个语句意思是 恢复到100的位置


如何在工作中配合使用全备份和增量备份

每周一做一个全备份mysqldump,启动增量备份,把过期时间设为>7.
如何关闭 mysql 自动记录日志

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

个别版本需要关闭

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值