增量备份

使用xtrabackup进行mysql数据库备份

流过昼夜 提交于 2020-01-09 01:10:31
xtrabackup是一种支持InnoDB和xtradb存储引擎的的物理备份工具,它有以下几个特点:   (1) 备份过程快速、可靠;   (2) 备份过程不会打断正在执行的事务;   (3) 能够基于压缩等功能节约磁盘空间和流量;   (4) 自动实现备份检验;   (5) 还原速度快。 需要安装的软件包: percona-xtrabackup可以从官网https://www.percona.com/software/mysql-database/percona-xtrabackup获取相应版本 xtrabackup备份策略: 一、完全备份 xtrabackupex --user=DBUSER --passwd=DBUSERPASSWD /path/to/backup_dir/ 使用 innobakupex 备份时,它会调用 xtrabackup 备份所有的 InnoDB 表,复制所有关于表结构定义的相关文件 (.frm) 、以及 MyISAM 、 MERGE 、 CSV 和 ARCHIVE 表的相关文件,同时还会备份触发器和数据库配置信息相关的文件。这些文件会被保存至一个以时间命名的目录中。 在备份的同时, innobackupex 还会在备份目录中创建如下文件: (1)xtrabackup_checkpoints —— 备份类型(如完全或增量)、备份状态(如是否已经为

MySQL增量备份与恢复

亡梦爱人 提交于 2020-01-08 18:52:55
MySQL增量备份与恢复 一、前言 ​ 上篇文章( MySQL完全备份与恢复概念及操作 )中我们详细介绍了MySQL完全备份与恢复的概念以及详细的命令操作进行验证,并且也讲述了一些增量备份的概念。而本文将就MySQL的增量备份及恢复作进一步介绍与实例操作。 二、再谈MySQL增量备份 2.1问题引出与解决 ​ 首先我们思考一个问题:既然有了完全备份和差异备份,为什么还需要增量备份呢? ​ 上篇文章中我们谈到可以使用tar命令将数据库的数据目录中的目录和文件进行xz格式的打包从而进行数据库的变相备份,也可以使用MySQL数据库自带的mysqldump工具进行完全备份。 ​ 但是我们会发现这样一个问题:当数据库系统中的数据库包含的数据表越来越多(在生产环境中,尤其是大型企业,数据表中必然会有大量的数据),那么我们继续使用tar压缩解压恢复或者说进行完全备份操作来备份数据库的数据时,就会造成诸多问题,比如:备份时间加长,备份冗余数据庞大,服务器存储资源占用大,占用网络带宽,备份过程中出现网络瘫痪,服务器宕机等问题时就会造成无法承担的灾难,而差异备份也是如此,毕竟差异备份的参考对象仅仅是完全备份的内容。 ​ 因此,我们需要考虑如何在节约各种成本的情况下,兼顾安全与性能,得出一个相对更好的方法来备份数据,而这个方法就是进行“增量备份”,其余差异备份的差别在于参考对象

mysql备份恢复与xtrabackup备份

笑着哭i 提交于 2020-01-07 18:43:35
mysqldump优缺点 优点 使用场景: 10G以下的数据库操作简单 缺点 数据量范围:30G --> TB级别 的时候备份、恢复操作很慢,效率低 xtrabackup备份软件 使用场景: 1、数据量大,变换量小 2、数据量小,变化量大 介绍 percona公司官网 https://www.percona.com/ Xtrabackup是由percona开源的免费数据库热备份软件,它能对InnoDB数据库和XtraDB存储引擎的数据库非阻塞地备份(对于MyISAM的备份同样需要加表锁);mysqldump备份方式是采用的逻辑备份,其最大的缺陷是备份和恢复速度较慢,如果数据库大于50G,mysqldump备份就不太适合。 Xtrabackup安装完成后有4个可执行文件,其中2个比较重要的备份工具是innobackupex、xtrabackup 1)xtrabackup 是专门用来备份InnoDB表的,和mysql server没有交互; 2)innobackupex 是一个封装xtrabackup的Perl脚本,支持同时备份innodb和myisam,但在对myisam备份时需要加一个全局的读锁。 3)xbcrypt 加密解密备份工具 4)xbstream 流传打包传输工具,类似tar 5)物理备份工具,在同级数据量基础上,都要比逻辑备份性能好的多,特别是在数据量较大的时候

shell_innobackup增量备份步骤

陌路散爱 提交于 2020-01-07 16:17:39
alias start='service mysql.server start' alias restart='service mysql.server restart' alias stop='service mysql.server stop' alias kill='pkill -9 mysqld' 一、全库备份 [root@mysql01 ~]# innobackupex --user=admin /xtrabackup_full/ mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | db01 | | db02 | | db03 | | mysql | | performance_schema | | test | +--------------------+ 7 rows in set (0.15 sec) 二、全备后数据库更改操作 mysql> drop database db02; Query OK, 1 row affected (0.38 sec) mysql> use db03 mysql> show tables; +----------------+ | Tables_in_db03 | +----

MySQL常用备份策略详解 —— mysqldump、mysqlpump 和 Xtrabackup

扶醉桌前 提交于 2020-01-04 00:19:29
一、备份简介 2.1 备份分类 按照不同的思考维度,通常将数据库的备份分为以下几类: 物理备份 与 逻辑备份 物理备份:备份的是完整的数据库目录和数据文件。采用该模式会进行大量的 IO 操作,但不含任何逻辑转换,因此备份和恢复速度通常都比较快。 逻辑备份:通过数据库结构和内容信息来进行备份。因为要执行逻辑转换,因此其速度较慢,并且在以文本格式保存时,其输出文件的大小大于物理备份。逻辑备份的还原的粒度可以从服务器级别(所有数据库)精确到具体表,但备份不会包括日志文件、配置文件等与数据库无关的内容。 全量备份 与 增量备份 全量备份:备份服务器在给定时间点上的所有数据。 增量备份:备份在给定时间跨度内(从一个时间点到另一个时间点)对数据所做的更改。 在线备份 与 离线备份 在线备份:数据库服务在运行状态下进行备份。此时其他客户端依旧可以连接到数据库,但为了保证数据的一致性,在备份期间可能会对数据进行加锁,此时客户端的访问依然会受限。 离线备份:在数据库服务停机状态下进行备份。此备份过程简单,但由于无法提供对外服务,通常会对业务造成比较大的影响。 2.2 备份工具 MySQL 支持的备份工具有很多种,这里列出常用的三种: mysqldump :这是 MySQL 自带的备份工具,其采用的备份方式是逻辑备份,支持全库备份、单库备份、单表备份。由于其采用的是逻辑备份

mysql增量备份依次恢复库

夙愿已清 提交于 2019-12-31 23:43:09
#!/bin/bash #scripts sh recovery_increment.sh 时间 日期 例如: 14 20180228 bakfile=/data/dbbackup logfile=/data/bak.log dbuser=xxx dbpasswd=xxxx ip= ifconfig | grep "inet addr"| grep Bcast| awk '{print $2}'| awk -F":" '{print $2}' #增量还原 recovery increment() { #解压增量备份到的新子目录 mkdir -p $bakfile/test cd $bakfile/test tar -xf $bakfile/$2 ${ip}_$1.DailyBak.tar.gz cd daily #把二进制的binlog文件转成sql,按最早的时间开始转换sql mysqlbinlog mysql-bin.000602 > ida.sql #如果有好几个增量备份,用到追加 mysqlbinlog mysql-bin.000603 >> ida.sql mysql -u$dbuser -p$dbpasswd < ida.sql echo "导入完成" if [ -f ida.sql ] then echo "ida.sql 存在" else echo "ida.sql

MySQL全量、增量备份

自作多情 提交于 2019-12-26 15:40:34
数据备份的重要性 1、在生产环境中,数据的安全性是至关重要的,任何数据的丢失都可能产生严重的后果 2、造成数据丢失的原因 程序错误 人为错误 计算机失败 磁盘失败 灾难(如地震等)和偷窃 数据库备份的分类 一、从物理与逻辑的角度,备份可分为: 1、物理备份:对数据库操作系统的物理文件(如数据文件、日志文件等)的备份 物理备份又可以分为脱机备份(冷备份)和联机备份(热备份): -冷备份:是在关闭数据库的时候进行的 -热备份:数据库处于运行状态,这种备份方法依赖于数据库的日志文件 2、逻辑备份:对数据库逻辑组件(如表等数据库对象)的备份 二、从数据库的备份策略角度, 备份可分为: 1、完全备份:每次对数据进行完整的备份 2、差异备份:备份那些自从上次完全备份之后被修改过的文件 3、增量备份:只有那些在.上次完全备份或者增量备份后被修改的文件才会被备份 MySQL完全备份(全量备份) 1、完全备份是对整个数据库的备份、数据库结构和文件结构的备份 2、完全备份保存的是备份完成时刻的数据库 3、完全备份是增量备份的基础 完全备份的优点 备份与恢复操作简单方便 完全备份的缺点 1.数据存在大量的重复 2.占用大量的备份空间 3.备份与恢复时间长 mysqldump备份库 一、MySQL数据库的备份可以采用用多种方式 1.直接打包数据库文件夹,如/usr/local/mysql/data 2

Oracle的差异增量和累积增量

萝らか妹 提交于 2019-12-23 15:49:06
Oracle的差异增量和累积增量 差异增量:差异增量是指备份自上一次同级别或低级别差异增量备份以来所有发生变化了的数据块。 差异增量是RMAN生成增量备份的默认类型。 累积增量:累积增量是指备份自上次0级备份以来所有发生变化的数据块,忽略之前的1级备份。 例: (1)差异增量 假设周一做了0级增量备份,周二做了1级差异备份,周三仍做了1级差异备份,那么,周二做的备份中包含自周一0级备份 以来所有的变化数据。 周三的备份则包含了自周二1级差异备份以来的所有的变化数据。 (2)累积增量 假设周一做了0级增量备份,周二做了1级累积备份,周三仍做了1级累积备份,那么,周二做的备份中包含自周一0级备份 以来所有的变化数据。周三的备份则包含了自周一0级增量备份以来的所有的变化数据。 来源: https://www.cnblogs.com/lxm11/p/11995614.html

项目实战6—Mysql实现企业级日志管理、备份与恢复实战

六月ゝ 毕业季﹏ 提交于 2019-12-22 03:00:56
Mysql实现企业级日志管理、备份与恢复实战    环境背景: 随着业务的发展,公司业务和规模不断扩大,网站积累了大量的用户信息和数据,对于一家互联网公司来说,用户和业务数据是根基。一旦公司的数据错乱或者丢失,对于互联网公司而言就等于说是灭顶之灾,为防止系统出现操作失误或系统故障导致数据丢失,公司要求加强用户数据的可靠性,要求全面加强数据层面备份,并能在故障发生时第一时间恢复。 总架构图 ,详见 http://www.cnblogs.com/along21/p/8000812.html Mysql备份方案: ① mysqldump+binlog: 先完全备份,再通过备份二进制日志实现增量备份 ② xtrabackup: 对InnoDB:热备,支持完全备份和增量备份 对MyISAM:温备,只支持完全备份 ③ lvm快照+binlog: 几乎热备,物理备份 实战一:mysqldump+binlog 实现备份与恢复 1、准备备份的目录,开启二进制日志 mkdir /backup chown -R mysql.mysql /backup/ 把备份的目录所属人所属组改为mysql vim /etc/my.cnf log-bin = /var/lib/mysql/bin-log 开启二进制日志,并制定路径 2、准备要备份的数据和表 模拟日常的数据库操作 MariaDB [(none)]>

oracle备份与恢复

笑着哭i 提交于 2019-12-20 07:24:54
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