mysql binlog 增量备份_mysql实时增量备份 binlog日志备份

这篇博客详细介绍了如何利用MySQL的binlog日志进行数据增量备份。内容包括启用binlog日志的配置,查看和使用binlog的命令,以及如何通过binlog进行数据恢复。还提供了完全备份和增量备份的shell脚本示例。
摘要由CSDN通过智能技术生成

启用binlog日志实现对数据的增量备份:

日志存储位置: /var/lib/mysql/

日志名称:主机名-bin.000001 或mysqld-bin.000001

binlog日志概述:二进制日志,记录所有更改数据的操作;默认超过500M自动生成新的日志;

修改主配置文件启用binlog日志

vim /etc/my.cnf

[mysqld]

log-bin  (或指定日志名log-bin=x.000001或者指定目录和文件名log-bin=/logdir/X.000001)

max-binlog-size=200m   (设置日志最大200m,默认为500m)

:wq

重启mysql服务,/var/lib/mysql/下会多出一个日志文件1个日志索引文件:

x-bin.000001    mysql的binlog日志文件

x-bin.index     记录当前已有的binlog日志名

mysqlbinlog是mysql日志查看专属命令

查看binlog日志文件内容: mysqlbinlog  日志文件名

binlog日志记录sql语句的方式:

1 根据字符偏移量(pos)

起始字符偏移量  --start-positon=数字

结束字符偏移量  --stop-position=数字

2 根据时间点(time)

起始时间   --start-datetime="yyyy-mm-dd hh:mm:ss"

结束时间   --stop-datetime="yyyy-mm-dd hh:mm:ss"

执行binlog日志里的sql语句恢复数据:

mysqlbinlog 选项  x-bin.000001 | mysql -uroot -p123456 [数据库名]

手动生成新的binlog日志文件方式:

1:重启mysql服务   (很少用)

2:mysql> flush logs;

3: [root@A mysql]# mysql -uroot -p123456 -e "flush logs"  (引号里可以执行任意sql语句)

4: mysqldump -uroot -p123456 --flush-logs  数据名 > xxx.sql

清理binlog日志

删除已有binlog日志

1 删除指定版本的binlog日志

(1)方式一:mysql> purge master logs to "x-bin.000004";    (删除000004之前的日志,x-bin.index同步更新)

(2)方式二: rm -rf x-bin.000001 (x-bin.index不同步更新)

2 删除所有binlog日志,重建日志;  mysql> reset master;

编写脚本allbak.sh每周一对数据做完全备份:00 18 * * 1 /shell/allbak.sh

vim allbak.sh

#!/bin/bash

bakdir=/datadir

dbname=haha

day=$(date +%F)

if [ ! -e $bakdir ]

then mkdir $bakdir

fi

mysqldump -uroot -p123456 --flush-logs $dbname > $bakdir/allbak-$day.sql

编写脚本newbak.sh每周二~日做增量备份(只备份新生成的和没备份过的binlog日志且正在使用的不备份):不备份最后一个binlog日志   00 18 * * 2-7 /shell/newbak.sh

vim newbak.sh

#!/bin/bash

if [ ! -e /backdir ];then

mkdir /backdir

fi

cd  /var/lib/mysql

for file in `sed ‘$d‘ /var/lib/mysql/A-bin.index`

do name=`echo $file | awk -F "/" ‘{print $2}‘`

if [ ! -e /backdir/$name ];then

cp $name /backdir

fi

done

本文出自 “linux云计算” 博客,转载请与作者联系!

mysql实时增量备份 binlog日志备份

标签:mysql实时增量备份 binlog日志备份

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:http://liangzai818.blog.51cto.com/10003446/1740084

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值