Last modified:2013-05-03 22:09:26
****************************************
对于数据量较大的数据库,一次全备份可能要花上好几个小时,所以在日常应用中全备份一般同增量备份一起使用。
Mysql提供了增量备份的工具:mysqlbinlog.exe (大家可以在mysql的bin目录下找到)。
下面来说说如何进行mysql增量备份:
1, 打开my.ini配置文件,在服务器配置区加上:
log-bin=d:/binlog/mybinlog
其中,d:/binlog/mybinlog 是一个自定义目录,用来存放增量备份文件,mybinlog是对生成文件的命名。
2,重启mysql,在d:/binlog/下会生成两个文件分别是:mybinlog.*,*代表不同的扩展名,其中“.index”是增量备份的索引文件,“.000001”是增量 备份文件。启动增量备份后,每次在数据库进行DML操作,备份文件都会更新一次。
好了,现在增量备份已经配置好了。现在在数据库中创建一个临时表,插入一条数据,然后删除表。为一会儿恢复这张表准备:
3, 生成的增量备份文件都是二进制文件,需要用mysql提供的mysqlbinlog 进行查看:
进入控制台输入:mysqlbinlog d:\binlog\mybinlog.000001
Mysql的增量备份为我们提供了两种备份恢复方式:按照时间点或者位置
按照时间点:
指定恢复结束时间:
mysqlbinlog --stop-datetime=”0000-00-00 00:00:00” d:/binlog/mylog.000001 | mysql -uroot -p
指定恢复开始时间:--start-datetime
按照位置:
其实和按照时间点类似,只是传递的参数改一下:
指定恢复结束位置:--stop-position=”2433”
指定恢复开始位置:--start-position=”2433”
当然mysql也支持某个时间段或者位置段的恢复:
mysqlbinlog --start-datetime=”2013-01-13 00:03:00”--stop-datetime=”2013-01-14 00:34:55” d:/binlog/mylog.000001 | mysql -uroot -p
如果我们要恢复原来表中删除的数据可以这样做,在控制台输入:
这是来看一看数据库里面是不是已经恢复了呢:
好了演示结束,看来还是很好用的,我用的是按照位置来恢复,按照时间恢复就不演示了。
关于增量备份文件的维护:
l Mysql控制台下执行一下指令可以清除二进制日志文件:reset master;
l 在my.ini中可以设置日志过期天数过期的日志会被自动删除,有利于减少我们管理日志的工作量:
expire_logs_day=9
这里设定日志可以保存9天,9天之后过期的日志将被自动删除。
在日常应用中可以将自动全备份和增量备份结合在一起使用,例如,每周日进行一次全备份,将增量备份的日志清理时间设置为7天以上。如果那天数据库出了问题,可以全备份和增量备份配合恢复。
关于mysql的自动全备份可以参看我的另外一篇日志: 使用java实现自动备份mysql数据库
相关推荐
window和linux 下的mysql 增量备份/全量备份脚本。可以配合window计划任务或linux定时任务执行备份
实现mysql增量备份和还原
最近项目需要要对mysql数据库进行备份。此脚本实现了MYSQL的增量备份。 修改文件后缀以及参数信息就可用。
mysql当中,增量备份的部分的代码学习,仅供参考!
MYSQL的一个每日增量备份脚本,适用于LIUNX环境下
mysql完整备份和增量备份脚本,本文档采用mysqldump 对数据库进行备份,mysqldump 是采用SQL级别的备份机制,它将数据表导成 SQL脚本文件,在不同的 MySQL 版本之间升级时相对比较合适,这也是最常用的备份方法,...
mysql增量备份还原
根据公司生产nysql服务器要求,在网上学习写的Mysql增量备份脚本,已实践!!!
mysql全备份及增量备份及还原脚本mysql全备份及增量备份及还原脚本,参考 http://www.jb51.net/article/99938.htm
进行增量备份防止数据被误删或者数据库被攻击后的恢复
linux 系统下 每天进行增量备份一周做一次完整备份
1.备份MySQL到指定的目录。 2.支持压缩备份。无需安装压缩软件支持CAB压缩备份。或者安装RAR软件,支持RAR压缩备份。 3.支持备份日志。可以了解哪些数据库没有备份成功。 4.支持保留多少次备份。也就是删除多少次...
docker环境下的mysql数据库自动备份脚本,配置到系统定时任务中,能够每天自动全库或者指定实例备份数据库,删除七天前的旧备份。
生产环境中在mysql中误操作是非常正常的,所以就需要用到mysql的增量备份恢复。增量备份是我们经常用到的,它可以指定某个误操作的时间以及位置点进行数据恢复,更加准确的恢复我们想要还原的数据。
我们都知道必须按计划定期进行备份。可以用几个工具完全备份(在某个时间点的数据快照)MySQL。例如,InnoDB Hot Backup为InnoDB数据文件提供在线非数据块物理备份,mysqldump提供在线逻辑备份。这里使用mysqldump。
Mysql数据备份与mysqldump增量备份.pdf
Java实现Mysql数据库完整、增量备份与还原
python自动备份mysql数据库,并删除七天前文件。 省去每天手动备份 删除 空出的时间摸鱼不香吗? 备份时间可自己设置 备份文件夹可自己设置 删除文件时间范围可自己设置
mysql备份,全量备份,增量备份,带email发送功能。