增量备份

MySQL定时备份(全量备份+增量备份)

非 Y 不嫁゛ 提交于 2020-02-29 20:03:23
MySQL 定时备份 参考 zone7_ 的 实战-MySQL定时备份系列文章 参考 zmcyu 的 mysql数据库的完整备份、差异备份、增量备份 更多binlog的学习参考 马丁传奇 的 MySQL的binlog日志 ,这篇文章写得认真详细,如果看的认真的话,肯定能学的很好的。 如果查看binlog是出现语句加密的情况,参考 mysql row日志格式下 查看binlog sql语句 说明 产品上线后,数据非常非常重要,万一哪天数据被误删,那么就gg了,准备跑路吧。 所以要对线上的数据库定时做 全量备份 和 增量备份 。 增量备份的优点是没有重复数据,备份量不大,时间短。但缺点也很明显,需要建立在上次完全备份及完全备份之后所有的增量才能恢复。 MySQL没有提供直接的增量备份方法,但是可以通过mysql二进制日志间接实现增量备份。二进制日志对备份的意义如下: 二进制日志保存了所有更新或者可能更新数据的操作 二进制日志在启动MySQL服务器后开始记录,并在文件达到所设大小或者收到flush logs 命令后重新创建新的日志文件 只需定时执行flush logs 方法重新创建新的日志,生成二进制文件序列,并及时把这些文件保存到一个安全的地方,即完成了一个时间段的增量备份。 全量备份 mysqldump --lock-all-tables --flush-logs --master

Mysql 备份恢复与 xtrabackup备份

笑着哭i 提交于 2020-02-26 00:00:12
Mysql 备份恢复与 xtrabackup备份 1.1 备份的原因   备份是数据安全的最后一道防线,对于任何数据丢失的场景,备份虽然不一定能恢复百分之百的数据(取决于备份周期),但至少能将损失降到最低。衡量备份恢复有两个重要的指标:恢复点目标(RPO)和恢复时间目标(RTO),前者重点关注能恢复到什么程度,而后者则重点关注恢复需要多长时间。 1.1.1 备份的目录   做灾难恢复:对损坏的数据进行恢复和还原   需求改变:因需求改变而需要把数据还原到改变以前   测试:测试新功能是否可用 1.1.2 备份中需要考虑的问题   可以容忍丢失多长时间的数据;   恢复数据要在多长时间内完;   恢复的时候是否需要持续提供服务;   恢复的对象,是整个库,多个表,还是单个库,单个表。 1.1.3 备份的类型 热备份:   这些动态备份在读取或修改数据的过程中进行,很少中断或者不中断传输或处理数据的功能。使用热备份时,系统仍可供读取和修改数据的操作访问。 冷备份:   这些备份在用户不能访问数据时进行,因此无法读取或修改数据。这些脱机备份会阻止执行任何使用数据的活动。这些类型的备份不会干扰正常运行的系统的性能。但是,对于某些应用程序,会无法接受必须在一段较长的时间里锁定或完全阻止用户访问数据。 温备份:   这些备份在读取数据时进行,但在多数情况下,在进行备份时不能修改数据本身

9.11、mysql增量备份和增量恢复介绍

百般思念 提交于 2020-02-16 10:27:30
1、增量备份: 增量数据是从上次全量备份之后,更新的新数据,对于mysql来说,binlog日志就是mysql的增量数据; (1)按天进行备份: 周一00点全量备份 周二00点全量备份 ...... 01.sql.gz 02.sql.gz ...... 周一增量备份 周二增量备份 ...... mysql-bin.000001 mysql-bin.000002 mysql-bin.000003 mysql-bin.index mysql-bin.000004 mysql-bin.000005 mysql-bin.000006 mysql-bin.index ...... 1)优点:恢复时间短,维护成本低; 2)缺点:占用空间多,占用系统资源多,经常锁表影响用户的体验; (2)按周进行备份: 周六00全量备份 01.sql.gz 01.sql.gz 01.sql.gz 周一增量备份 周二增量备份 周三增量备份 mysql-bin.000001 mysql-bin.000002 mysql-bin.000003 mysql-bin.index mysql-bin.000004 mysql-bin.000005 mysql-bin.000006 mysql-bin.index mysql-bin.000007 mysql-bin.000008 mysql-bin.000009 mysql

MySQL之Xtrabackup备份与恢复

谁说胖子不能爱 提交于 2020-02-13 11:02:29
MySQL之Xtrabackup备份与恢复 一、Xtrabackup介绍   MySQL冷备、mysqldump、MySQL热拷贝都无法实现对数据库进行增量备份。在实际生产环境中增量备份是非常实用的,如果数据大于50G或100G,存储空间足够的情况下,可以每天进行完整备份,如果每天产生的数据量较大,需要定制数据备份策略。例如每周实用完整备份,周一到周六实用增量备份。而Percona-Xtrabackup就是为了   实现增量备份而出现的一款主流备份工具,xtrabakackup有2个工具,分别是xtrabakup、innobakupe。   Percona-xtrabackup是 Percona公司开发的一个用于MySQL数据库物理热备的备份工具,支持MySQL、Percona server和MariaDB,开源免费,是目前较为受欢迎的主流备份工具。xtrabackup只能备份innoDB和xtraDB两种数据引擎的表,而不能备份MyISAM数据表。 二、Xtrabackup优点 (1)备份速度快,物理备份可靠 (2)备份过程不会打断正在执行的事务(无需锁表) (3)能够基于压缩等功能节约磁盘空间和流量 (4)自动备份校验 (5)还原速度快 (6)可以流传将备份传输到另外一台机器上 (7)在不增加服务器负载的情况备份数据 三、Xtrabackup备份原理

MySQL数据库备份与恢复

断了今生、忘了曾经 提交于 2020-02-13 01:05:15
MySQL数据库备份与恢复 1、备份方式 逻辑备份(文本表示:SQL 语句) 物理备份(数据文件的二进制副本) 基于快照的备份 基于复制的备份 增量备份(刷新二进制日志) 2、备份类型 2.1 热备份 这些动态备份在读取或修改数据的过程中进行,很少中断或者不中断传输或处理数据的功能。使用热备份时,系统仍可供读取和修改数据的操作访问。 2.2冷备份 这些备份在用户不能访问数据时进行,因此无法读取或修改数据。这些脱机备份会阻止执行任何使用数据的活动。这些类型的备份不会干扰正常运行的系统的性能。但是,对于某些应用程序,会无法接受必须在一段较长的时间里锁定或完全阻止用户访问数据。 2.3温备份 这些备份在读取数据时进行,但在多数情况下,在进行备份时不能修改数据本身。这种中途备份类型的优点是不必完全锁定最终用户。但是,其不足之处在于无法在进行备份时修改数据集,这可能使这种类型的备份不适用于某些应用程序。在备份过程中无法修改数据可能产生性能问题。 3、物理备份 物理备份由存储数据库内容的目录和文件的原始副本组成。这种类型的备份适用于需要在发生问题时快速恢复的大型重要数据库。 3.1物理备份的特点 备份由数据库目录和文件的精确副本组成。通常这是全部或部分MySQL数据目录的副本。 物理备份方法比逻辑更快,因为它们只涉及文件复制而无需转换。 输出比逻辑备份更紧凑。 由于备份速度和紧凑性对繁忙

数据库单表增量备份方案

笑着哭i 提交于 2020-02-11 14:56:05
方案1: 对于一个表来说,我们要实现备份最简单的方法就是直接备份,这张表包括数据与结构直接备份,这种情况对已小的数据库表来说是行的通的,但是这种方法存在一些问题:例如,如果这个表的数据很大呢?达到上G、几G、几十个G之类的,这样的话备份的时候很占资源和时间,所以,我觉得这样的备份不值得推荐。 所以针对上面的问题,我用触发器来实现,具体思路如下: 1、 假设现在有一个表mytest需要做备份,然后有mytest_backup表来保存备份的数据,然后这两个表的结构是一样的; 例如: mytest: CREATE TABLE `mytest` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `colum1` varchar(50) DEFAULT NULL, `colum2` varchar(50) DEFAULT NULL, `colum3` varchar(50) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 mytest_backup: CREATE TABLE mytest_backup like mytest; 2、 建立触发器mytest_backup,每当mytest有数据插入的时候,就向mytest

Oracle数据库三种备份方案

十年热恋 提交于 2020-02-05 02:17:51
Oracle数据库有三种标准的备份方法,分别是导出/导入(EXP/IMP)、热备份和冷备份。导出备份的是数据库对象,是一种逻辑备份,冷备份和热备份是物理备份。 一、 导出/导入(Export/Import) 利用Export将数据从数据库中提取出来,利用Import将提取出来的数据送回到Oracle数据库中。 1、 简单导出数据(Export)和导入数据(Import) Oracle支持三种方式类型的输出: (1)、表方式(T方式),将指定表的数据导出。 (2)、用户方式(U方式),将指定用户的所有对象及数据导出。 (3)、全库方式(Full方式),瘵数据库中的所有对象导出。 数据导入(Import)的过程是数据导出(Export)的逆过程,分别将数据文件导入数据库和将数据库数据导出到数据文件。 2、 增量导出/导入 增量导出是一种常用的数据备份方法,它只能对整个数据库来实施,并且必须作为SYSTEM来导出。在进行此种导出时,系统不要求回答任何问题。导出文件名缺省为export.dmp,如果不希望自己的输出文件定名为export.dmp,必须在命令行中指出要用的文件名。 增量导出包括三种类型: (1)、“完全”增量导出(Complete) 即备份三个数据库,比如: exp system/manager inctype = complete file = 040731.dmp (2)

【RMAN】增量备份学习与实践

。_饼干妹妹 提交于 2020-02-04 10:31:54
一、基础知识 大家对 RMAN我想都有不少的了解,此处只想对增量备份进行一下学习与实践,也是因为工作中确实有这样的需求存在。增量备份分为两种:Differential 差异,Cumulative 累积。如果不指明增量备份参数,默认的增量备份为Differential差异。常规备份方案:1周1次0级备份,其余为差异增量1级备份。或者1周1次0级备份,后两天为差异1级备份,第三天累积1级备份,后面0级备份前再次差异1级备份。总而言知,你了解了备份原理,后面策略就你自己定了。I believe you that you can choose correct policy. ( 1)Differential Incremental Backups 差异增量备份,就是备份最近 1次增量备份(差异或者累积)或者0级全备份后的所有变化的数据块。 ( 2)Cumulative Incremental Backups 累积增量备份,就是备份最近0级备份后的所有变化的数据块,所以占用空间是比较多些。 二、实验备份 ( 1)0级备份scripts: #!/bin/bash source /home/oracle/.bash_profile # Local variable day=`date +%Y%m%d` bk_dir=/rmanbackup/rman/TEST${day} # Create

27_mysqldump 实时增量备份 、innobackupex

霸气de小男生 提交于 2020-02-03 20:18:16
版本:5.7.28 PHP:5.6 服务器:mysql 192.168.4.20 1.数据库备份与恢复 逻辑备份工具 mysqldump 使用mysql 恢复数据库 1.1备份MySQL服务器上的所有库 ]# mysqldump -u root -p123456 --all-databases > /root/alldb.sql ]# file /root/alldb.sql //确认备份文件类型 alldb.sql: UTF-8 Unicode text, with very long lines 1.2只备份指定的某一个库 ]# mysqldump -u root -p123456 userdb > userdb.sql 1.3 同时备份指定的多个库 ]# mysqldump -u root -p123456 -B mysql userdb > mysql+test+userdb.sql 1.4使用mysql命令从备份中恢复数据库、表 创建名为userdb2的新库 mysql> CREATE DATABASE userdb2; 导入备份文件,在新库中重建表及数据 ]# mysql -u root -p123456 userdb2 < /root/userdb.sql 前面备份过,现在恢复看是否有数据 确认新库正常,启用新库 mysql> USE userdb2; mysql>

关于数据库的各种备份与还原姿势详解

别等时光非礼了梦想. 提交于 2020-02-01 22:17:50
数据库的冷备份与热备份 数据导出不完全等于数据备份: 数据导出是指将数据库中的数据逆向成SQL语句进行导出,所以导出的是SQL文件。通常用作把数据从一个系统迁移到另一个系统,目的是屏蔽系统之间的差异性 数据备份是指将数据库中数据存储的相关文件进行拷贝,用于保存一个数据库的全部物理数据,所以备份后的数据与原本数据在细节及状态上都是完全一致的。不会像SQL那样在使用了一些函数的情况下,可能会在不同的时间点或不同的系统上产生不一样的结果 冷备份与热备份: 冷备份:在数据库已经关闭的情况下,对数据的备份称作冷备份 热备份:与冷备份相反,在数据库节点不停机的状态下进行的备份被称作热备份 冷备份的限制: 数据库必须停机备份,这对一些线上数据库是无法接受的 备份的数据文件非常占用存储空间,并且不支持增量备份 冷备份是备份所有的数据文件和日志文件,所以无法单独备份某个逻辑库和数据表 联机冷备份: 单节点的数据库在冷备份时需要停机,这就会对业务系统产生影响。为了解决这个问题,我们可以组建集群然后挑选集群中的一个节点进行停机冷备份。由于集群中还有其他节点在运行,所以不必担心影响正在运行的系统。等备份结束之后再启动该节点,这样就能解决停机备份带来的影响 热备份的限制: 数据库在热备份的时候会全局加读锁,备份期间节点只能读取数据不能写入数据 联机热备份: 同样的方式,为了避免全局加锁