您的位置:首页 > 数据库 > MySQL

Mysql 增量备份

2016-06-14 15:01 597 查看
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 //格式 STATEMENT,ROW,MIXED

expire_logs_days=7//文件有效期

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

 

2.mysqlbinlog 插件介绍

1> -start-datetime=datetime

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

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

  

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息