`
wangjie2013
  • 浏览: 174194 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Mysql增量备份

阅读更多

 


       Last modified2013-05-03 22:09:26

****************************************

 

 

对于数据量较大的数据库,一次全备份可能要花上好几个小时,所以在日常应用中全备份一般同增量备份一起使用。

Mysql提供了增量备份的工具:mysqlbinlog.exe (大家可以在mysqlbin目录下找到)。

下面来说说如何进行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 

 

如果我们要恢复原来表中删除的数据可以这样做,在控制台输入:



 

这是来看一看数据库里面是不是已经恢复了呢:



 

 

好了演示结束,看来还是很好用的,我用的是按照位置来恢复,按照时间恢复就不演示了。

 

 

关于增量备份文件的维护:

Mysql控制台下执行一下指令可以清除二进制日志文件:reset master;

my.ini中可以设置日志过期天数过期的日志会被自动删除,有利于减少我们管理日志的工作量:

expire_logs_day=9

这里设定日志可以保存9天,9天之后过期的日志将被自动删除。

 

在日常应用中可以将自动全备份和增量备份结合在一起使用,例如,每周日进行一次全备份,将增量备份的日志清理时间设置为7天以上。如果那天数据库出了问题,可以全备份和增量备份配合恢复。

 

       关于mysql的自动全备份可以参看我的另外一篇日志: 使用java实现自动备份mysql数据库

 

  • 大小: 31.2 KB
  • 大小: 34.5 KB
  • 大小: 98.9 KB
  • 大小: 18.9 KB
  • 大小: 12.9 KB
1
1
分享到:
评论

相关推荐

    mysql增量备份LIUNX脚本

    ### MySQL增量备份Linux脚本详解 #### 一、概述 MySQL数据库是许多应用程序的重要组成部分,为了确保数据的安全性与完整性,定期进行数据备份至关重要。在众多备份策略中,增量备份因其高效性和灵活性而受到广泛...

    linux-实现mysql增量备份和还原

    实现MySQL增量备份的步骤如下: 1. **安装Xtrabackup**: 在Linux系统中,首先需要确保MySQL服务器已经安装并运行,然后通过包管理器(如`apt-get`或`yum`)安装Xtrabackup。例如,在Ubuntu上: ``` sudo apt-...

    windows mysql 增量备份

    最近项目需要要对mysql数据库进行备份。此脚本实现了MYSQL的增量备份。 修改文件后缀以及参数信息就可用。

    mysql 增量备份/全量备份脚本

    本文将详细讲解MySQL的增量备份与全量备份,并提供在Windows和Linux环境下执行备份的脚本。 全量备份是数据库备份的基础,它会备份数据库中的所有数据,包括表结构、数据以及日志等。在MySQL中,可以使用mysqldump...

    mysql增量备份的相关脚本

    mysql当中,增量备份的部分的代码学习,仅供参考!

    window下mysql增量备份

    Window 下 MySQL 增量备份 MySQL 是一个流行的开源关系数据库管理系统,对于数据的安全性和可靠性至关重要。在实际应用中,数据误删或数据库遭受攻击的风险始终存在,因此进行增量备份是非常必要的。本文将 ...

    mysql增量备份还原

    MySQL增量备份和恢复是数据库管理中的重要操作,主要用于高效地保护数据,减少备份和恢复过程中的资源消耗。在MySQL中,增量备份主要依赖于二进制日志(binlog)功能。 首先,我们来理解什么是增量备份。增量备份是...

    MySQL完整备份和增量备份脚本

    mysql完整备份和增量备份脚本,本文档采用mysqldump 对数据库进行备份,mysqldump 是采用SQL级别的备份机制,它将数据表导成 SQL脚本文件,在不同的 MySQL 版本之间升级时相对比较合适,这也是最常用的备份方法,...

    mysql增量备份及恢复

    MySQL 增量备份与恢复是一项关键的数据库管理任务,旨在高效地保护数据并降低恢复时间。在MySQL中,有多种方法实现备份,包括全量备份和增量备份。本篇文章将详细探讨使用mysqldump工具进行增量备份的原理、过程以及...

    Mysql增量备份脚本

    根据公司生产nysql服务器要求,在网上学习写的Mysql增量备份脚本,已实践!!!

    Mysql增量备份和整体备份

    MySQL在Linux环境下的备份策略通常结合整体备份和增量备份,以降低存储需求和备份时间。通过crontab进行定时备份可以确保数据的定期保存。同时,主从同步提供了额外的数据保护,增强了系统的高可用性。在实际应用中...

    mysql全备份及增量备份及还原脚本

    本文将详细讲解MySQL的全备份、增量备份以及还原脚本的实现方法,旨在帮助你构建一个有效的数据库管理策略。 全备份是备份数据库的全部内容,包括所有表、触发器、存储过程等。在MySQL中,最常用的全备份工具是`...

    mysql增量备份及断点恢复脚本实例

    MySQL增量备份和断点恢复是数据库管理中至关重要的技术,特别是在生产环境中,因为数据库误操作是难以避免的。增量备份允许我们仅备份自上次备份以来发生更改的数据,从而显著减少备份所需的时间和存储空间。而断点...

    Windows下MySql数据库增量全量备份

    总结起来,Windows下MySQL数据库的备份策略通常结合`mysqldump`进行全量备份和`mysqlbinlog`进行增量备份,以实现高效且节省空间的备份方案。同时,通过编写批处理脚本,可以自动化这些过程,确保数据安全并降低管理...

    Windows下Mysql自动备份数据脚本

    1.备份MySQL到指定的目录。 2.支持压缩备份。无需安装压缩软件支持CAB压缩备份。或者安装RAR软件,支持RAR压缩备份。 3.支持备份日志。可以了解哪些数据库没有备份成功。 4.支持保留多少次备份。也就是删除多少次...

    mysql的备份和恢复基础知识(全量备份和增量备份)-详细笔记文档总结

    "mysql备份和恢复基础知识(全量备份和增量备份)" MySQL 的备份和恢复是数据库管理员的必备技能,本文将详细介绍 MySQL 的备份和恢复基础知识,包括全量备份和增量备份的方法和注意事项。 mysqldump 工作原理 ...

    docker环境下的mysql数据库自动备份脚本

    docker环境下的mysql数据库自动备份脚本,配置到系统定时任务中,能够每天自动全库或者指定实例备份数据库,删除七天前的旧备份。

    mysql(完整、增量)备份与还原

    MySQL数据库在日常运维中扮演着至关重要的角色,因此掌握如何进行完整备份、增量备份与还原是每个IT专业人员必备的技能。在这个主题中,我们将深入探讨如何使用Java来实现这些功能。 首先,让我们理解什么是数据库...

    mysql数据库增量备份

    MySQL数据库增量备份是一种高效的数据保护策略,它只备份自上次备份以来发生更改的数据,从而显著减少备份所需的存储空间和时间。在本项目中,通过编写预处理程序并设置服务器定时任务,成功实现了MySQL的增量备份...

Global site tag (gtag.js) - Google Analytics