Mysql 增量备份

Mysql 二进制日志增量备份(windows)

 

1.二进制日志开启

修改Mysql 安装目录下的my.ini文件

[mysqld] 下添加:

server-id = 1

log-bin =F:/mysql/logs/binlog.log  //二进制日志存放文件

log-bin-index =F:/mysql/logs/binlog.index //二进制日志索引文件

binlog_format =Statement //格式 STATEMENTROWMIXED

expire_logs_days=7//文件有效期

binlog-do-db=xmis_a//只记录某个数据库的二进制日志

 

2.mysqlbinlog 插件介绍

1> -start-datetime=datetime

从二进制日志中第1个日期时间等于或晚于datetime参量的事件开始读取。该值格式应符合DATETIMETIMESTAMP数据类型。例如:

2>-stop-datetime=datetime

从二进制日志中第1个日期时间等于或晚于datetime参量的事件起停止读。·

3>-start-position=N

从二进制日志中第1个位置等于N参量时的事件开始读。

4>stop-position=N

从二进制日志中第1个位置等于和大于N参量时的事件起停止读。

# at 123(开始位置)

#16 16:22:09 server id 1 end_log_pos 154(结束位置) CRC32 0xe3862612

5.输出二进制文件

  mysqlbinlog --no-defaults 源二进制文件

6.导出二进制文件

    mysqlbinlog --no-defaults 源二进制文件 > 目标文件

7.导入二进制文件

  mysqlbinlog --no-defaults 源二进制文件 | mysql -u xx -p

  按时间导入

      mysqlbinlog --no-defaults --start-datetime=’xxxx’ --stop-datetime=’xxxx’ 源二进制文件 |   mysql -u xx -p

      按位置导入

      mysqlbinlog --no-defaults --start-position=N1 --stop-position=N2 源二进制文件 | mysql   -u xx -p

3.增量备份

增量备份的实现主要依赖完全备份+二进制日志。完全备份是数据库原有的数据,二进制日志是记录该数据库增删该等操作记录(查除外)

 

1>完全备份

mysqldump --single-transaction --flush-logs --master-data=2 > 备份文件

 

备份文件中会出现下列提示,它告诉我们,下次开始记录二进制的文件从binlog.000009开始

-- Position to start replication or point-in-time recovery from

--

-- CHANGE MASTER TO MASTER_LOG_FILE='binlog.000009', MASTER_LOG_POS=154;

--

 

 

2>恢复备份

  1>> 先将完全备份的文件导入

mysql -u -xxx -p < 备份文件

      2>>导入二进制文件(记录完全备份时,到当前时间,数据库所经历的增删改)

mysqlbinlog database=’xmis’ 二进制文件 | mysql -u xx -p

  

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值