澳门新萄京官方网站-www.8455.com-澳门新萄京赌场网址

澳门新萄京官方网站:利用xtrabackup在线增量备份

2019-10-05 作者:澳门新萄京官方网站   |   浏览(107)

澳门新萄京官方网站 1

XtraBackup物理备份 Ali云的Mysql备份方案,xtrabackup阿里

澳门新萄京官方网站 2

【mysql】使用xtrabackup在线增量备份及回复数据库,mysqlxtrabackup

一、Percona Xtrabackup 简介

1、Xtrabackup  bin目录文件 介绍

XtraBackup物理备份

Percona XtraBackup是社会风气上独一的开源,免费的MySQL热备份软件,为InnoDB和XtraDB 数据库实行非阻塞备份。使用Percona XtraBackup,能够完结以下优势:

  • 登时可相信地成功的备份

  • 备份时期的不间断事务管理

  • 节约磁盘空间和互连网带宽

  • 机动备份验证

  • 创制热InnoDB备份,而不制动踏板数据库

  • 对MySQL实行增量备份

  • 将回退的MySQL备份压缩到另叁个服务器

  • 在MySQL服务器之间移动表

  • 自在制造新的MySQL主从

  • 备份MySQL,而不向服务器增添负载

Percona XtraBackup为所有版本的Percona Server,MySQL和MariaDB举行MySQL热备份,压缩和增量MySQL备份。Percona XtraBackup与MySQL,玛丽亚DB和Percona Server合作使用。它帮忙完全非阻塞备份InnoDB,XtraDB和HailDB 存款和储蓄引擎。

XtraBackup物理备份

Percona XtraBackup是世界上独一的开源,免费的MySQL热备份软件,为InnoDB和XtraDB 数据库施行非阻塞备份。使用Percona XtraBackup,能够达成以下优势:

  • 比非常快可信地做到的备份

  • 备份时期的不间断事务管理

  • 节约磁盘空间和网络带宽

  • 机关备份验证

  • 开创热InnoDB备份,而不中断数据库

  • 对MySQL进行增量备份

  • 将减小的MySQL备份压缩到另多个服务器

  • 在MySQL服务器之间移动表

  • 轻巧创设新的MySQL主从

  • 备份MySQL,而不向服务器增加负载

Percona XtraBackup为全体版本的Percona Server,MySQL和MariaDB举办MySQL热备份,压缩和增量MySQL备份。Percona XtraBackup与MySQL,MariaDB和Percona Server合营使用。它帮衬完全非阻塞备份InnoDB,XtraDB和HailDB 存款和储蓄引擎。

一、Percona Xtrabackup 简介

1、Xtrabackup  bin目录文件 介绍

1)innobackupex

innobackupex 是xtrabackup的多个符号链接 . innobackupex still supports all features and syntax as 2.2 version did, but is now deprecated and will be removed in next major release.

Percona XtraBackup专门的学业原理

Percona XtraBackup是依附InnoDB的夭亡复苏作用。复制InnoDB数据文件,导致个中不等同的数据; 但随后它对文本进行崩溃恢复生机,使它们重新成为平等,可用的数据库。

那是因为InnoDB维护叁个重做日志,也叫做事务日志。那带有对InnoDB数据的每一种更换的笔录。当InnoDB 运维时,它会检查数据文件和作业日志,并奉行四个步骤。它将交给的事情日志条约应用于数据文件,并对修改数据但未提交的别样专业实践撤销操作。

Percona XtraBackup通过记录日志系列号(LSN)初阶职业,然后复制掉数据文件。那亟需一小会时刻来成功,所以只要文件正在改换,那么它们反映了数据库在分歧一时间间点的情事。同时,Percona XtraBackup运转二个后台进程,监视事务日志文件,并从当中复制退换。Percona XtraBackup必要持续地那样做,因为职业日志是以循环格局编写的,况兼能够在一段时间后重复使用。Percona XtraBackup从数据文件开始推行以来历次改造都急需专门的职业日志记录。

Percona XtraBackup将利用备份锁 ,作为叁个轻量级代替。此意义在Percona Server 5.6 中可用。Percona XtraBackup使用那些自动复制非InnoDB数据,以幸免阻塞修改InnoDB表的DML查询。当服务器援助备份锁时,xtrabackup将第一复制InnoDB数据,运营并复制MyISAM表和.frm文件。一旦成功,文件的备份将最先。它将备份.frm,.MLANDG,.MYD,.MYI,.THighlanderG,FLUSH TABLES WITH READ LOCKLOCK TABLES FO奇骏 BACKUP.par

注意

锁定只对MyISAM和别的非InnoDB表,只有 在 Percona XtraBackup实现全数InnoDB / XtraDB数据和日志后备份。Percona XtraBackup将采纳备份锁 ,作为二个轻量级代替。此功用在Percona Server 5.6 中可用。Percona XtraBackup使用那几个活动复制非InnoDB数据,以幸免阻塞修改InnoDB表的DML查询。FLUSH TABLES WITH READ LOCK

然后,xtrabackup将运用阻止全部操作,可能更改二进制日志地方或 或 报告。然后xtrabackup将不辱义务复制REDO日志文件和获得二进制日志坐标。在那产生以往xtrabackup将解锁二进制日志和表。LOCK BINLOG FOSportage BACKUPExec_Master_Log_PosExec_Gtid_SetSHOW MASTER/SLAVE STATUS

终极,二进制日志位置将被打印到STDECRUISER奥迪Q7和xtrabackup 将脱离再次回到0就算一切不奇怪。

内需在意的是STDE奥迪Q5路虎极光的xtrabackup不是写在别的文件中。您必得将其重定向到二个文本,例如,。xtrabackup OPTIONS2> backupout.log

它还将要备份的目录中创设以下文件。

在计划阶段,Percona XtraBackup使用复制的事体日志文件对复制的数据文件实践崩溃苏醒。达成此操作后,数据库就足以还原和应用。

备份的MyISAM和InnoDB表最后将相互一致,因为在希图(苏醒)进度之后,InnoDB的数据会前滚到备份实现的点,而不会回滚到该点开始。这么些时刻点同盟所选择的岗位,因而MyISAM数据和图谋的 InnoDB数据是同步的。FLUSH TABLES WITHREAD LOCK

差少之甚少,这几个工具允许你通过复制数据文件,复制日志文件以及将日志应用到数码的各样组合来实行流式和增量备份等操作。

Percona XtraBackup专门的学问规律

Percona XtraBackup是基于InnoDB的垮台复苏魔法。复制InnoDB数据文件,导致个中不雷同的数额; 但随后它对文件试行崩溃恢复生机,使它们重新成为平等,可用的数据库。

那是因为InnoDB维护一个重做日志,也称为事务日志。那饱含对InnoDB数据的各类改换的记录。当InnoDB 运转时,它会检查数据文件和专门的学问日志,并奉行多个步骤。它将付诸的工作日志条目款项应用于数据文件,并对修改数据但未提交的另外业务实施撤废操作。

Percona XtraBackup通过记录日志体系号(LSN)初步职业,然后复制掉数据文件。那须求一小会时刻来成功,所以只要文件正在改变,那么它们反映了数据库在分裂不常间间点的图景。同一时间,Percona XtraBackup运营一个后台进度,监视事务日志文件,并从当中复制更换。Percona XtraBackup须求持续地那样做,因为工作日志是以循环格局编写的,何况能够在一段时间后重复使用。Percona XtraBackup从数据文件开首推行以来历次改动都急需工作日志记录。

Percona XtraBackup将动用备份锁 ,作为一个轻量级代替。此意义在Percona Server 5.6 中可用。Percona XtraBackup使用那么些自动复制非InnoDB数据,防止止阻塞修改InnoDB表的DML查询。当服务器协助备份锁时,xtrabackup将首先复制InnoDB数据,运维并复制MyISAM表和.frm文件。一旦成功,文件的备份将上马。它将备份.frm,.M路虎极光G,.MYD,.MYI,.T翼虎G,FLUSH TABLES WITH READ LOCKLOCK TABLES FO奔驰G级 BACKUP.par

注意

锁定只对MyISAM和其它非InnoDB表,独有 在 Percona XtraBackup完结全体InnoDB / XtraDB数据和日志后备份。Percona XtraBackup将选用备份锁 ,作为八个轻量级替代。此成效在Percona Server 5.6 中可用。Percona XtraBackup使用那些活动复制非InnoDB数据,以幸免阻塞修改InnoDB表的DML查询。FLUSH TABLES WITH READ LOCK

以往,xtrabackup将应用阻止全体操作,或许改造二进制日志地点或 或 报告。然后xtrabackup将完成复制REDO日志文件和收获二进制日志坐标。在那产生之后xtrabackup将解锁二进制日志和表。LOCK BINLOG FO福睿斯 BACKUPExec_Master_Log_PosExec_Gtid_SetSHOW MASTER/SLAVE STATUS

最后,二进制日志地点将被打印到STDEEnclave宝马7系和xtrabackup 将退出重返0假设一切平常。

内需专心的是STDEEvoque本田UR-V的xtrabackup不是写在别的文件中。您必得将其重定向到贰个文书,比如,。xtrabackup OPTIONS2> backupout.log

它还将要备份的目录中创制以下文件。

在备选阶段,Percona XtraBackup使用复制的事务日志文件对复制的数据文件推行崩溃复苏。达成此操作后,数据库就足以过来和选用。

备份的MyISAM和InnoDB表最后将相互一致,因为在预备(恢复生机)进程之后,InnoDB的数据会前滚到备份完结的点,而不会回滚到该点开首。那么些日子点合作所选取的职分,因而MyISAM数据和希图的 InnoDB数据是一块的。FLUSH TABLES WITHREAD LOCK

归纳,那几个工具允许你通过复制数据文件,复制日志文件以及将日志应用到多少的各样组合来实践流式和增量备份等操作。

1)innobackupex

innobackupex 是xtrabackup的多个标志链接 . innobackupex still supports all features and syntax as 2.2 version did, but is now deprecated and will be removed in next major release.

2)xtrabackup

一个由C编译而来的二进制文件,能够整备MySQL database instance with MyISAM, InnoDB, and XtraDB tables

还原备份

要运用xtrabackup恢复生机备份,您能够运用 或选项。xtrabackup –copy-backxtrabackup –move-back

xtrabackup将从my.cnf变量datadir, innodb_data_home_dir,innodb_data_file_path,innodb_log_group_home_dir中读取, 并检查目录是不是留存。

那将复制MyISAM表,索引等(.FRM,.M福睿斯G, .MYD,.MYI,.T君越G,.TLANDN,.ARM, .A瑞虎Z,.CSM,.CSV,par和.opt的文本)首先,InnoDB的下一步是表和目录,最终是日记文件。它就要复制文件时保留文件的属性,mysql在运维数据库服务器此前大概需求将文件的全部权转移为,因为它们将由成立备份的客商具备。

抑或,该选取可用于回复备份。此选项 与独一的界别是,它不是复制文件,而是将其运动到对象地点。由于此选项删除备份文件,因此必得稳重运用。在未曾丰盛的可用磁盘空间来保存那七个数据文件及其备份别本的情形下,此意义极度管用。xtrabackup –move-backxtrabackup –copy-back

回复备份

要利用xtrabackup恢复生机备份,您可以动用 或选项。xtrabackup –copy-backxtrabackup –move-back

xtrabackup将从my.cnf变量datadir, innodb_data_home_dir,innodb_data_file_path,innodb_log_group_home_dir中读取, 并检查目录是或不是留存。

那将复制MyISAM表,索引等(.FRM,.MPAJEROG, .MYD,.MYI,.T奥德赛G,.TCR-VN,.ARM, .A翼虎Z,.CSM,.CSV,par和.opt的文件)首先,InnoDB的下一步是表和目录,最终是日记文件。它将要复制文件时保留文件的本性,mysql在开发银行数据库服务器在此以前或者供给将文件的全体权转移为,因为它们将由创制备份的客商具备。

要么,该选拔可用于回复备份。此选项 与独一的差别是,它不是复制文件,而是将其活动到对象地方。由于此选项删除备份文件,因而必需战战惶惶使用。在未有丰盛的可用磁盘空间来保存那多个数据文件及其备份别本的气象下,此功效特别低价。xtrabackup –move-backxtrabackup –copy-back

2)xtrabackup

二个由C编译而来的二进制文件,能够整备MySQL database instance with MyISAM, InnoDB, and XtraDB tables

3)xbcrypt

用来加密或解密备份的多寡

安装XtraBackup

安装XtraBackup

3)xbcrypt

用来加密或解密备份的数量

4)xbstream

用来解压或压缩xbstream格式的压缩文件

安装XtraBackup 源

[root@ZHENGDA ~]# uname -r
3.10.0-327.el7.x86_64

yum -y install http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm

安装

yum -y install percona-xtrabackup-24

成立连接顾客并受权

mysql> CREATE USER 'zhengda'@'localhost' IDENTIFIED BY 'goyun.org';
mysql> GRANT RELOAD, LOCK TABLES, PROCESS, REPLICATION CLIENT ON *.* TO 'zhengda'@'localhost';
mysql> FLUSH PRIVILEGES;

全部备份

(1)xtrabackup只好备份innodb和xtradb二种引擎的表,而不能够备份myisam引擎的表;
(2)innobackupex是一个装进了xtrabackup的Perl脚本,协理同期备份innodb和myisam,但在对myisam备份时供给加贰个大局的读锁。还会有正是myisam不支持增量备份。

$ xtrabackup --user=zhengda --password=goyun.org --backup  
  --target-dir=/data/backup  
$ innobackupex --user=zhengda --password=goyun.org /path/ to /backup/dir/ 
$ innobackupex --user=zhengda --password=goyun.org --stream=tar ./ | bzip2 -

备份到/data/backup下

备份所有库:$ innobackupex --defaults-file=/etc/my.cnf--user=zhengda 
           --password=goyun.org --socket=/tmp/mysql.sock /data/backup
           
备份两个库:$ innobackupex --databases="db1 db2"--defaults-file=/etc/my.cnf--user=zhengda 
            --password=goyun.org --socket=/tmp/mysql.sock /data/backup

增量备份

注:第二回增量备份要确立在完全备份之上才得以
–incremental /data/backup1 钦命增量备份贮存的目的目录
–incremental-basedir=/data/backup 钦点完整备份的目录

$ innobackupex  --defaults-file=etc/my.cnf --user=zhengda --password=goyun.org 
--socket=/tmp/mysql.sock --incremental /data/backuup1 --incremental-basedir=/data/backup/#会根据当天时间生成个目录

进行第三次增量备份,供给内定上一次增量备份的目录
–incremental /data/backup2 内定此番增量备份目录
–incremental-basedir=/data/backup1 钦定上次增量备份目录

$ innobackupex --defaults-file=/etc/my.cnf --user=zhengda --password=goyun.org 
--socket=/tmp/mysql.sock --incremental /data/backup2 --incremental-basedir=/data/backup1/(....)

苏醒备份

–apply-log 策画恢复生机备份的精选
–use-memory=8G 设置准备复苏数据时选取的内部存款和储蓄器,能够拉长筹划所成本的时光

$ innobackupex --apply-log --use-memory=8G /data/backup
#还原如下
$ innobackupex  --defaults-file=/etc/my.cnf --user= --password= --copy-back /data/backup
#或
$ xtrabackup --user=zhengda --password=goyun.org --copy-back --target-dir=/data/backup

应用Mysqldump实行逻辑备份

mysqldump作为重要的MySQL备份工具,功能特别强劲。备份参数、恢复生机计谋,需求紧凑钻探。

备份数据库:

备份单个数据库或单个数据库中的钦定表:

mysqldump [OPTIONS] database [tb1] [tb2]…

备份多个数据库:

mysqldump [澳门新萄京官方网站,OPTIONS] –databases [OPTIONS] DB1 [DB2 DB3…]

备份全数数据库:

mysqldump [OPTIONS] –all-databases [OPTIONS]

增多此选项备份时不锁表

--single-transaction

案例:本地备份全部库

mysqldump -u root -p密码 --all-databases > ./all.sql

案例:本地恢复生机全数库

mysql -u root -p密码  < ./all.sql

案例:备份本地db1,db2几个库

mysqldump -u root -p密码 --databases db1 db2 > ./db1_2.sql

案例:苏醒地面db1,db2八个库

mysql -u root -p密码 db1 db2 < ./db1_2.sql

案例:在B主机上进行将A主机的yun库备份到B主机上 ,在B主机上急需创设yun库

-C代表主机间的数额传输使用数据压缩

mysqldump --host=192.168.6.108(A) -u root -p密码 --opt yun | mysql --host=localhost(B) -u root -p密码 -C yun

案例:在 B主机 上试行将 A主机 上的具有数据库备份到本地

mysqldump --host=192.168.6.108(A) -u root -p密码 --all-databases > all.sql(B)

案例:恢复生机在B主机上推行

此文章来自海龟运维wuguiyunwei.com

作者们的国有号

澳门新萄京官方网站 3

安装XtraBackup 源

[[email protected] ~]# uname -r
3.10.0-327.el7.x86_64

yum -y install http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm

安装

yum -y install percona-xtrabackup-24

成立连接客商并受权

mysql> CREATE USER 'zhengda'@'localhost' IDENTIFIED BY 'goyun.org';
mysql> GRANT RELOAD, LOCK TABLES, PROCESS, REPLICATION CLIENT ON *.* TO 'zhengda'@'localhost';
mysql> FLUSH PRIVILEGES;

完全备份

(1)xtrabackup只可以备份innodb和xtradb二种引擎的表,而不能备份myisam引擎的表;
(2)innobackupex是多少个装进了xtrabackup的Perl脚本,协助同一时候备份innodb和myisam,但在对myisam备份时索要加三个大局的读锁。还也是有便是myisam不匡助增量备份。

$ xtrabackup --user=zhengda --password=goyun.org --backup  
  --target-dir=/data/backup  
$ innobackupex --user=zhengda --password=goyun.org /path/ to /backup/dir/ 
$ innobackupex --user=zhengda --password=goyun.org --stream=tar ./ | bzip2 -

备份到/data/backup下

备份所有库:$ innobackupex --defaults-file=/etc/my.cnf--user=zhengda 
           --password=goyun.org --socket=/tmp/mysql.sock /data/backup
           
备份两个库:$ innobackupex --databases="db1 db2"--defaults-file=/etc/my.cnf--user=zhengda 
            --password=goyun.org --socket=/tmp/mysql.sock /data/backup

增量备份

注:第二次增量备份要创建在总体备份之上才足以
–incremental /data/backup1 钦赐增量备份贮存的指标目录
–incremental-basedir=/data/backup 内定完整备份的目录

$ innobackupex  --defaults-file=etc/my.cnf --user=zhengda --password=goyun.org 
--socket=/tmp/mysql.sock --incremental /data/backuup1 --incremental-basedir=/data/backup/#会根据当天时间生成个目录

打开第一遍增量备份,须求钦点上贰遍增量备份的目录
–incremental /data/backup2 钦赐此番增量备份目录
–incremental-basedir=/data/backup1 钦点上次增量备份目录

$ innobackupex --defaults-file=/etc/my.cnf --user=zhengda --password=goyun.org 
--socket=/tmp/mysql.sock --incremental /data/backup2 --incremental-basedir=/data/backup1/(....)

光复备份

–apply-log 计划恢复生机备份的接纳
–use-memory=8G 设置计划苏醒数据时采取的内部存款和储蓄器,能够提升计划所费用的时辰

$ innobackupex --apply-log --use-memory=8G /data/backup
#还原如下
$ innobackupex  --defaults-file=/etc/my.cnf --user= --password= --copy-back /data/backup
#或
$ xtrabackup --user=zhengda --password=goyun.org --copy-back --target-dir=/data/backup

动用Mysqldump举行逻辑备份

mysqldump作为第一的MySQL备份工具,成效相当庞大。备份参数、复苏计策,须求精研。

备份数据库:

备份单个数据库或单个数据库中的钦点表:

mysqldump [OPTIONS] database [tb1] [tb2]…

备份多个数据库:

mysqldump [OPTIONS] –databases [OPTIONS] DB1 [DB2 DB3…]

备份全数数据库:

mysqldump [OPTIONS] –all-databases [OPTIONS]

增添此选项备份时不锁表

--single-transaction

案例:本地备份全部库

mysqldump -u root -p密码 --all-databases > ./all.sql

案例:本地恢复生机全数库

mysql -u root -p密码  < ./all.sql

案例:备份当地db1,db2几个库

mysqldump -u root -p密码 --databases db1 db2 > ./db1_2.sql

案例:复苏本地db1,db2两个库

mysql -u root -p密码 db1 db2 < ./db1_2.sql

案例:在B主机上实行将A主机的yun库备份到B主机上 ,在B主机上急需创立yun库

-C代表主机间的数码传输使用数据压缩

mysqldump --host=192.168.6.108(A) -u root -p密码 --opt yun | mysql --host=localhost(B) -u root -p密码 -C yun

案例:在 B主机 上实行将 A主机 上的有着数据库备份到本地

mysqldump --host=192.168.6.108(A) -u root -p密码 --all-databases > all.sql(B)

案例:恢复生机在B主机上进行

此文章来自海龟运营 wuguiyunwei.com

咱俩的国有号

澳门新萄京官方网站 4

Ali云的Mysql备份方案,xtrabackupAli XtraBackup物理备份 Percona XtraBackup是社会风气上有一无二的开源,无需付费的MySQL热备份软件,为In...

4)xbstream

用来解压或压缩xbstream格式的压缩文件

5)xbcloud

utility used for downloading and uploading full or part of xbstream archive from/to cloud.

5)xbcloud

utility used for downloading and uploading full or part of xbstream archive from/to cloud.

2、Percona XtraBackup info

是开源免费的MySQL数据库热备份软件,它能对InnoDB和XtraDB存储引擎的数据库非阻塞地备份(对于MyISAM的备份相同要求加表锁)

you can achieve the following benefits: (

  • Backups that complete quickly and reliably
  • Uninterrupted transaction processing during backups
  • Savings on disk space and network bandwidth
  • Automatic backup verification
  • Higher uptime due to faster restore time

2、Percona XtraBackup info

是开源无需付费的MySQL数据库热备份软件,它能对InnoDB和XtraDB存款和储蓄引擎的数据库非阻塞地备份(对于MyISAM的备份同样要求加表锁)

you can achieve the following benefits: (

  • Backups that complete quickly and reliably
  • Uninterrupted transaction processing during backups
  • Savings on disk space and network bandwidth
  • Automatic backup verification
  • Higher uptime due to faster restore time

features  

  • Create hot InnoDB backups without pausing your database
  • Make incremental backups of MySQL
  • Stream compressed MySQL backups to another server
  • Move tables between MySQL servers on-line
  • Create new MySQL replication slaves easily
  • Backup MySQL without adding load to the server
  • 无须甘休数据库举办InnoDB热备
  • 增量备份MySQL
  • 流压缩到传输到其余服务器
  • 在线移动表
  • 能相比便于地创立主从同步
  • 备份MySQL时不会增大服务器负荷

features  

  • Create hot InnoDB backups without pausing your database
  • Make incremental backups of MySQL
  • Stream compressed MySQL backups to another server
  • Move tables between MySQL servers on-line
  • Create new MySQL replication slaves easily
  • Backup MySQL without adding load to the server
  • 毋庸甘休数据库进行InnoDB热备
  • 增量备份MySQL
  • 流压缩到传输到另外服务器
  • 在线移动表
  • 能相比易于地开创主从同步
  • 备份MySQL时不会附加服务器负荷

3、Xtrabackup工具协助对InnoDB存款和储蓄引擎的增量备份,专业原理如下

1、在InnoDB内部会维护贰个redo/undo日志文件,也能够叫做事务日志文件。事务日志会储存每多个InnoDB表数据的笔录修改。当InnoDB运行时,InnoDB会检查数据文件和事务日志,并实行四个步骤:它选用(前滚)已经交付的作业日志到数据文件,并将修改过但不曾交到的数码开展回滚操作。

2、Xtrabackup在运行时会铭记log sequence number(LSN),而且复制全体的数据文件。复制进程需求部分日子,所以这中间若是数据文件有变动,那么将会使数据库处于贰个例外的时间点。那时,xtrabackup会运维贰个后台进度,用于监视事务日志,并从工作日志复制最新的修改。Xtrabackup必需不停的做这一个操作,是因为业务日志是会轮转重复的写入,而且作业日志能够被录用。所以xtrabackup自运转上马,就不停的将事情日志中各类数据文件的退换都记录下来。

3、下面正是xtrabackup的备份进度。接下来是计划(prepare)进程,在那么些进度中,xtrabackup使用在此以前复制的事务日志,对各样数据文件施行横祸苏醒(如同mysql刚运营时要做的如出一辙)。当这个进度甘休后,数据库就足以做恢复生机还原了,那一个进度在xtrabackup的编写翻译二进制造进度序中贯彻。程序innobackupex能够允许大家备份MyISAM表和frm文件进而扩展了简便和效果与利益。Innobackupex会运转xtrabackup,直到xtrabackup复制数据文件后,然后实行FLUSH TABLES WITH READ LOCK来阻止新的写入进来并把MyISAM表数据刷到硬盘上,之后复制MyISAM数据文件,最终获释锁。

4、备份MyISAM和InnoDB表最终会处于同样,在备选(prepare)进度甘休后,InnoDB表数据现已前滚到全方位备份截至的点,并不是回滚到xtrabackup刚开首时的点。那几个时刻点与实践FLUSH TABLES WITH READ LOCK的小时点同样,所以myisam表数据与InnoDB表数据是同步的。类似oracle的,InnoDB的prepare进度能够称之为recover(复苏),myisam的数量复制进程能够叫做restore(还原)。

5、Xtrabackup 和 innobackupex那多个工具都提供了众多前文未有关系的成效特色。手册上有对各个职能都有详细的介绍。简要介绍下,那么些工具提供了如流(streaming)备份,增量(incremental)备份等,通过复制数据文件,复制日志文件和交给日志到数据文件(前滚)达成了各类复合备份格局。

3、Xtrabackup工具支持对InnoDB存款和储蓄引擎的增量备份,专门的职业原理如下

1、在InnoDB内部会珍重叁个redo/undo日志文件,也足以称呼事务日志文件。事务日志会蕴藏每八个InnoDB表数据的记录修改。当InnoDB运维时,InnoDB会检查数据文件和作业日志,并实行三个步骤:它利用(前滚)已经提交的职业日志到数据文件,并将修改过但一贯不付诸的数目实行回滚操作。

2、Xtrabackup在运营时会铭记log sequence number(LSN),并且复制全体的数据文件。复制进度需求一些时光,所以那时期倘若数据文件有改观,那么将会使数据库处于二个例外的时间点。那时,xtrabackup会运行贰个后台进度,用于监视事务日志,并从作业日志复制最新的修改。Xtrabackup必需不断的做这些操作,是因为职业日志是会轮转重复的写入,并且作业日志能够被圈定。所以xtrabackup自运营上马,就不停的将职业日志中每一种数据文件的退换都记录下来。

3、上边便是xtrabackup的备份进程。接下来是盘算(prepare)进度,在这一个进程中,xtrabackup使用在此之前复制的职业日志,对各种数据文件实施患难恢复生机(如同mysql刚运维时要做的同一)。当那个进程截止后,数据库就足以做苏醒还原了,那几个进程在xtrabackup的编译二进制造进度序中落到实处。程序innobackupex能够允许大家备份MyISAM表和frm文件进而扩展了便利和效应。Innobackupex会运行xtrabackup,直到xtrabackup复制数据文件后,然后试行FLUSH TABLES WITH READ LOCK来堵住新的写入进来并把MyISAM表数据刷到硬盘上,之后复制MyISAM数据文件,最后获释锁。

4、备份MyISAM和InnoDB表最后会处于同样,在妄想(prepare)进度甘休后,InnoDB表数据现已前滚到整个备份甘休的点,并不是回滚到xtrabackup刚开端时的点。那些时刻点与实施FLUSH TABLES WITH READ LOCK的岁月点同样,所以myisam表数据与InnoDB表数据是联合签名的。类似oracle的,InnoDB的prepare进程堪称recover(苏醒),myisam的数额复制进度能够称呼restore(还原)。

5、Xtrabackup 和 innobackupex那五个工具都提供了好些个前文没有涉及的效劳特色。手册上有对各种职能都有详细的介绍。简介下,这么些工具提供了如流(streaming)备份,增量(incremental)备份等,通过复制数据文件,复制日志文件和提交日志到数据文件(前滚)完毕了各类复合备份形式。

二、安装xtrabackup

1、安装

yum -y install perl perl-devel libaio libaio-devel 
yum -y install  perl-DBI  perl-DBD-MySQL  perl-TermReadKey perl-devel perl-Time-HiRes

cd /usr/local/src
wget -c https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.3.2/ 
binary/tarball/percona-xtrabackup-2.3.2-Linux-x86_64.tar.gz

tar -zxf percona-xtrabackup-2.3.2-Linux-x86_64.tar.gz
cd percona-xtrabackup-2.3.2-Linux-x86_64/
mkdir  /usr/local/xtrabackup
mv bin  /usr/local/xtrabackup/
ln -s /usr/local/xtrabackup/bin/* /usr/bin/

2、修改my.cnf

[mysqld]  
datadir=/var/lib/mysql

innodb_data_home_dir = /data/mysql/ibdata
innodb_log_group_home_dir = /data/mysql/iblogs
innodb_data_file_path=ibdata1:10M;ibdata2:10M:autoextend
innodb_log_files_in_group = 2
innodb_log_file_size = 1G

二、安装xtrabackup

1、安装

yum -y install perl perl-devel libaio libaio-devel 
yum -y install  perl-DBI  perl-DBD-MySQL  perl-TermReadKey perl-devel perl-Time-HiRes

cd /usr/local/src
wget -c https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.3.2/ 
binary/tarball/percona-xtrabackup-2.3.2-Linux-x86_64.tar.gz

tar -zxf percona-xtrabackup-2.3.2-Linux-x86_64.tar.gz
cd percona-xtrabackup-2.3.2-Linux-x86_64/
mkdir  /usr/local/xtrabackup
mv bin  /usr/local/xtrabackup/
ln -s /usr/local/xtrabackup/bin/* /usr/bin/

2、修改my.cnf

[mysqld]  
datadir=/var/lib/mysql

innodb_data_home_dir = /data/mysql/ibdata
innodb_log_group_home_dir = /data/mysql/iblogs
innodb_data_file_path=ibdata1:10M;ibdata2:10M:autoextend
innodb_log_files_in_group = 2
innodb_log_file_size = 1G

三、全体数据库备份与回复

三、全体数据库备份与回复

1、备份

//全部数据库备份
innobackupex --user=root --password=123456 /data/backup/

//单数据库备份
innobackupex --user=root --password=123456 --database=backup_test /data/backup/

//多库
innobackupex--user=root --password=123456 --include='dba.*|dbb.*' /data/backup/

//多表
innobackupex --user=root --password=123456 --include='dba.tablea|dbb.tableb' /data/backup/

//数据库备份并压缩
log=zztx01_`date  %F_%H-%M-%S`.log
db=zztx01_`date  %F_%H-%M-%S`.tar.gz
innobackupex --user=root --stream=tar /data/backup  2>/data/backup/$log | gzip 1> /data/backup/$db
//不过注意解压需要手动进行,并加入 -i 的参数,否则无法解压出所有文件,疑惑了好长时间

//如果有错误可以加上  --defaults-file=/etc/my.cnf 

1、备份

//全部数据库备份
innobackupex --user=root --password=123456 /data/backup/

//单数据库备份
innobackupex --user=root --password=123456 --database=backup_test /data/backup/

//多库
innobackupex--user=root --password=123456 --include='dba.*|dbb.*' /data/backup/

//多表
innobackupex --user=root --password=123456 --include='dba.tablea|dbb.tableb' /data/backup/

//数据库备份并压缩
log=zztx01_`date  %F_%H-%M-%S`.log
db=zztx01_`date  %F_%H-%M-%S`.tar.gz
innobackupex --user=root --stream=tar /data/backup  2>/data/backup/$log | gzip 1> /data/backup/$db
//不过注意解压需要手动进行,并加入 -i 的参数,否则无法解压出所有文件,疑惑了好长时间

//如果有错误可以加上  --defaults-file=/etc/my.cnf 

2、还原

service mysqld stop
mv /data/mysql /data/mysql_bak && mkdir -p /data/mysql

//--apply-log选项的命令是准备在一个备份上启动mysql服务 
innobackupex --defaults-file=/etc/my.cnf --user=root --apply-log /data/backup/2015-09-18_16-35-12 

//--copy-back 选项的命令从备份目录拷贝数据,索引,日志到my.cnf文件里规定的初始位置 
innobackupex --defaults-file=/etc/my.cnf --user=root --copy-back /data/backup/2015-09-18_16-35-12 

chown -R mysql.mysql /data/mysq
service mysqld start

2、还原

service mysqld stop
mv /data/mysql /data/mysql_bak && mkdir -p /data/mysql

//--apply-log选项的命令是准备在一个备份上启动mysql服务 
innobackupex --defaults-file=/etc/my.cnf --user=root --apply-log /data/backup/2015-09-18_16-35-12 

//--copy-back 选项的命令从备份目录拷贝数据,索引,日志到my.cnf文件里规定的初始位置 
innobackupex --defaults-file=/etc/my.cnf --user=root --copy-back /data/backup/2015-09-18_16-35-12 

chown -R mysql.mysql /data/mysq
service mysqld start

四、增量备份与回复

四、增量备份与还原

1、创设测验数据库和表

create database backup_test; //创建库 

CREATE TABLE `backup` ( //创建表 
`id` int(11) NOT NULL AUTO_INCREMENT , 
`name` varchar(20) NOT NULL DEFAULT '' , 
`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP , 
`del` tinyint(1) NOT NULL DEFAULT '0', 
PRIMARY KEY (`id`) 
) ENGINE=myisam DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; 

1、创造测验数据库和表

create database backup_test; //创建库 

CREATE TABLE `backup` ( //创建表 
`id` int(11) NOT NULL AUTO_INCREMENT , 
`name` varchar(20) NOT NULL DEFAULT '' , 
`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP , 
`del` tinyint(1) NOT NULL DEFAULT '0', 
PRIMARY KEY (`id`) 
) ENGINE=myisam DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; 

2、增量备份

#--incremental:增量备份的文件夹
#--incremental-dir:针对哪个做增量备份

//第一次备份
mysql> INSERT INTO backup (name) VALUES ('xx'),('xxxx'); //插入数据 
innobackupex  --user=root --incremental-basedir=/data/backup/2015-09-18_16-35-12 --incremental /data/backup/

//再次备份
mysql> INSERT INTO backup (name) VALUES ('test'),('testd'); //在插入数据 
innobackupex --user=root --incremental-basedir=/data/backup/2015-09-18_18-05-20 --incremental /data/backup/ 

2、增量备份

#--incremental:增量备份的文件夹
#--incremental-dir:针对哪个做增量备份

//第一次备份
mysql> INSERT INTO backup (name) VALUES ('xx'),('xxxx'); //插入数据 
innobackupex  --user=root --incremental-basedir=/data/backup/2015-09-18_16-35-12 --incremental /data/backup/

//再次备份
mysql> INSERT INTO backup (name) VALUES ('test'),('testd'); //在插入数据 
innobackupex --user=root --incremental-basedir=/data/backup/2015-09-18_18-05-20 --incremental /data/backup/ 

3、查看增量备份记录文件

[root@localhost 2015-09-18_16-35-12]# cat xtrabackup_checkpoints //全备目录下的文件 
backup_type = full-prepared 
from_lsn = 0 //全备起始为0 
to_lsn = 23853959 
last_lsn = 23853959 
compact = 0 

[root@localhost 2015-09-18_18-05-20]# cat xtrabackup_checkpoints //第一次增量备份目录下的文件 
backup_type = incremental 
from_lsn = 23853959 
to_lsn = 23854112 
last_lsn = 23854112 
compact = 0 

[root@localhost 2015-09-18_18-11-43]# cat xtrabackup_checkpoints //第二次增量备份目录下的文件 
backup_type = incremental 
from_lsn = 23854112 
to_lsn = 23854712 
last_lsn = 23854712 
compact = 0 

增量备份做完后,把backup_test这么些数据库删除掉,drop database backup_test;这样能够对照还原后

3、查看增量备份记录文件

[[email protected] 2015-09-18_16-35-12]# cat xtrabackup_checkpoints //全备目录下的文件 
backup_type = full-prepared 
from_lsn = 0 //全备起始为0 
to_lsn = 23853959 
last_lsn = 23853959 
compact = 0 

[[email protected] 2015-09-18_18-05-20]# cat xtrabackup_checkpoints //第一次增量备份目录下的文件 
backup_type = incremental 
from_lsn = 23853959 
to_lsn = 23854112 
last_lsn = 23854112 
compact = 0 

[[email protected] 2015-09-18_18-11-43]# cat xtrabackup_checkpoints //第二次增量备份目录下的文件 
backup_type = incremental 
from_lsn = 23854112 
to_lsn = 23854712 
last_lsn = 23854712 
compact = 0 

增量备份做完后,把backup_test那几个数据库删除掉,drop database backup_test;那样能够比较还原后

4、增量还原

分成五个步骤

a.prepare

innobackupex --apply-log /path/to/BACKUP-DIR

此刻数码足以被前后相继访谈使用;可使用—use-memory选项钦定所用内部存款和储蓄器以加快进程,暗中认可100M;

b.recover

innobackupex --copy-back /path/to/BACKUP-DIR

从my.cnf读取datadir/innodb_data_home_dir/innodb_data_file_path等变量

先复制MyISAM表,然后是innodb表,最终为logfile;--data-dir目录必得为空

4、增量还原

分成四个步骤

a.prepare

innobackupex --apply-log /path/to/BACKUP-DIR

此刻数码足以被前后相继访谈使用;可利用—use-memory选项内定所用内部存款和储蓄器以加速进程,默许100M;

b.recover

innobackupex --copy-back /path/to/BACKUP-DIR

从my.cnf读取datadir/innodb_data_home_dir/innodb_data_file_path等变量

先复制MyISAM表,然后是innodb表,最终为logfile;--data-dir目录必需为空

始发集合

innobackupex --apply-log --redo-only /data/backup/2015-09-18_16-35-12
innobackupex --apply-log --redo-only --incremental /data/backup/2015-09-18_16-35-12 --incremental-dir=/data/backup/2015-09-18_18-05-20
innobackupex --apply-log --redo-only --incremental /data/backup/2015-09-18_16-35-12 --incremental-dir=/data/backup/2015-09-18_18-11-43

#/data/backup/2015-09-18_16-35-12 全备份目录
#/data/backup/2015-09-18_18-05-20 第一次增量备份产生的目录
#/data/backup/2015-09-18_18-11-43 第二次增量备份产生的目录

开头统一

innobackupex --apply-log --redo-only /data/backup/2015-09-18_16-35-12
innobackupex --apply-log --redo-only --incremental /data/backup/2015-09-18_16-35-12 --incremental-dir=/data/backup/2015-09-18_18-05-20
innobackupex --apply-log --redo-only --incremental /data/backup/2015-09-18_16-35-12 --incremental-dir=/data/backup/2015-09-18_18-11-43

#/data/backup/2015-09-18_16-35-12 全备份目录
#/data/backup/2015-09-18_18-05-20 第一次增量备份产生的目录
#/data/backup/2015-09-18_18-11-43 第二次增量备份产生的目录

东山再起数据

service mysqld stop 
innobackupex --copy-back /data/backup/2015-09-18_16-35-12
service mysqld start

还原数据

service mysqld stop 
innobackupex --copy-back /data/backup/2015-09-18_16-35-12
service mysqld start

五、innobackup 常用参数说明

--defaults-file
同xtrabackup的--defaults-file参数

--apply-log
对xtrabackup的--prepare参数的包装

--copy-back
做数据恢复时将备份数据文件拷贝到MySQL服务器的datadir ;

--remote-host=HOSTNAME
透过ssh将备份数据存款和储蓄到进程服务器上;

--stream=[tar]
备 份文件输出格式, tar时选择tar4ibd , 该文件可在XtarBackup binary文件中获得.借使备份时有钦赐--stream=tar, 则tar4ibd文件所处目录必须要在$PATH中(因为使用的是tar4ibd去收缩, 在XtraBackup的binary包中可获得该公文)。
在 使用参数stream=tar备份的时候,你的xtrabackup_logfile恐怕会一时放在/tmp目录下,借令你备份的时候出现写入相当大的话 xtrabackup_logfile或者会一点都不小(5G ),很大概会撑满你的/tmp目录,能够通过参数--tmpdir内定目录来消除这一个难题。

--tmpdir=DIRECTORY
当有钦命--remote-host or --stream时, 事务日志一时存储的目录, 暗许接纳MySQL配置文件中所钦赐的不常目录tmpdir

--redo-only --apply-log组,
强制备份日志时只redo ,跳过rollback。那在做增量备份时非常须要。

--use-memory=#
该参数在prepare的时候利用,调节prepare时innodb实例使用的内部存款和储蓄器量

--throttle=IOS
同xtrabackup的--throttle参数

--sleep=是给ibbackup使用的,钦赐每备份1M多少,进程结束拷贝多少皮秒,也是为了在备份时尽只怕减小对正规职业的影响,具体能够查阅ibbackup的手册 ;

--compress[=LEVEL]
对备份数据迚行压缩,仅支持ibbackup,xtrabackup还未有兑现;

澳门新萄京官方网站:利用xtrabackup在线增量备份及回复数据库,备份恢复生机。--include=REGEXP
对 xtrabackup参数--tables的包装,也帮忙ibbackup。备份包含的库表,举个例子:--include="test.*",意思是要备份 test库中保有的表。纵然需求全备份,则省略这一个参数;如若急需备份test库下的2个表:test1和test2,则写 成:--include="test.test1|test.test2"。也得以运用通配符,如:--include="test.test*"。

--databases=LIST
列出必要备份的databases,若无一点名该参数,全体包罗MyISAM和InnoDB表的database都会被备份;

--uncompress
解压备份的数据文件,扶助ibbackup,xtrabackup还并未有兑现该效率;

--slave-info,
备 份从库, 加上--slave-info备份目录下会多生成多个xtrabackup_slave_info 文件, 这里会保存主日志文件以及偏移, 文件内容周围于:CHANGE MASTELacrosse TO MASTEOdyssey_LOG_FILE='', MASTER_LOG_POS=0

--socket=SOCKET
钦定mysql.sock所在地方,以便备份进程登陆mysql.

 

 

参考

五、innobackup 常用参数表明

--defaults-file
同xtrabackup的--defaults-file参数

--apply-log
对xtrabackup的--prepare参数的包装

--copy-back
做数据复苏时将备份数据文件拷贝到MySQL服务器的datadir ;

--remote-host=HOSTNAME
经过ssh将备份数据存款和储蓄到进程服务器上;

--stream=[tar]
备 份文件输出格式, tar时采纳tar4ibd , 该文件可在XtarBackup binary文件中获得.借使备份时有钦赐--stream=tar, 则tar4ibd文件所处目录应当要在$PATH中(因为使用的是tar4ibd去收缩, 在XtraBackup的binary包中可获得该文件)。
在 使用参数stream=tar备份的时候,你的xtrabackup_logfile或然会一时放在/tmp目录下,如若您备份的时候现身写入异常的大的话 xtrabackup_logfile可能会十分的大(5G ),很大概会撑满你的/tmp目录,能够透过参数--tmpdir钦赐目录来解决那几个标题。

--tmpdir=DIRECTORY
当有内定--remote-host or --stream时, 事务日志一时存款和储蓄的目录, 私下认可选拔MySQL配置文件中所钦定的不常目录tmpdir

--redo-only --apply-log组,
强制备份日志时只redo ,跳过rollback。那在做增量备份时丰盛要求。

--use-memory=#
该参数在prepare的时候利用,调节prepare时innodb实例使用的内部存款和储蓄器量

--throttle=IOS
同xtrabackup的--throttle参数

--sleep=是给ibbackup使用的,钦命每备份1M数量,进程结束拷贝多少飞秒,也是为了在备份时尽恐怕减小对正规工作的震慑,具体能够查阅ibbackup的手册 ;

--compress[=LEVEL]
对备份数据迚行压缩,仅扶助ibbackup,xtrabackup还尚无兑现;

--include=REGEXP
对 xtrabackup参数--tables的包裹,也支持ibbackup。备份富含的库表,举个例子:--include="test.*",意思是要备份 test库中享有的表。假诺必要全备份,则省略那些参数;假若急需备份test库下的2个表:test1和test2,则写 成:--include="test.test1|test.test2"。也得以采取通配符,如:--include="test.test*"。

--databases=LIST
列出供给备份的databases,若无一点点名该参数,全数包含MyISAM和InnoDB表的database都会被备份;

--uncompress
解压备份的数据文件,帮助ibbackup,xtrabackup还尚未兑现该效率;

--slave-info,
备 份从库, 加上--slave-info备份目录下会多生成二个xtrabackup_slave_info 文件, 这里会保存主日志文件以及偏移, 文件内容周边于:CHANGE MASTEPRADO TO MASTEQX56_LOG_FILE='', MASTER_LOG_POS=0

--socket=SOCKET
钦定mysql.sock所在地方,以便备份进度登陆mysql.

 

 

参考

一、 Percona Xtrabackup 简要介绍 1、Xtrabackup bin目录文件 介绍 1)innobackupex innobackup...

本文由澳门新萄京官方网站发布于澳门新萄京官方网站,转载请注明出处:澳门新萄京官方网站:利用xtrabackup在线增量备份

关键词: