xtrabackup备份工具-创新互联

xtrabackup备份工具

创新互联是专业的宿豫网站建设公司,宿豫接单;提供成都网站设计、成都做网站,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行宿豫网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

 下载地址 https://www.percona.com/downloads/XtraBackup/LATEST/

Xtrabackup有两个主要的工具:xtrabackup、innobackupex

1、xtrabackup只能备份InnoDB和XtraDB两种数据表,而不能备份MyISAM数据表 ,不能备份表结构

2、innobackupex是参考了InnoDB Hotbackup的innoback脚本修改而来的.innobackupex是一个perl脚本封装,封装了xtrabackup。主要是为了方便的 同时备份InnoDB和MyISAM引擎的表,但在处理myisam时需要加一个读锁。并且加入了一些使用的选项。如slave-info可以记录备份恢 复后,作为slave需要的一些信息,根据这些信息,可以很方便的利用备份来重做slave。

xtrabackup

备份时常规参数

--defaults-file=#

默认配置文件的路径,如果不该参数,xtrabackup将从依次从以下位置查找配置文件/etc/my.cnf、/etc/mysql/my.cnf、/usr/local/etc/my.cnf、~/.my.cnf,并读取配置文件中的[mysqld]和[xtrabackup]配置段。[mysqld]中只需要指定datadir、innodb_data_home_dir、innodb_data_file_path、innodb_log_group_home_dir、innodb_log_files_in_group、innodb_log_file_size6个参数即可让xtrabackup正常工作。

--defaults-extra-file=#

如果使用了该参数,在读取了全局配置文件之后,会再读取这里指定的配置文件

--target-dir=name

备份文件的c目录路径

--backup

实施备份到target-dir

--prepare

实施对备份文件进行恢复前的准备(生成InnoDB log file)

--print-param

打印备份或恢复时需要的参数

--use-memory=#

该参数在 prepare的时候使用,控制prepare时innodb实例使用的内存量

--suspend-at-end

在target-dir目录下产生一个xtrabackup_suspended文件,将xtrabackup进程挂起,不停地将数据文件的变化同步到备份文件,直到用户手工删除xtrabackup_suspended文件

--throttle=#

每秒IO次数,限制backup时使用的I/O操作量,使备份对数据库正常业务的影响最小化

--log-stream

该参数在backup的时候使用,将xtrabackup_logfile的内容输出到标准输出,使用该参数时会自动使用suspend-at-end参数,innobackupex脚本的stream模式会使用该参数。

--incremental-lsn=name

增量备份时只拷贝LSN比该参数指定值新的ibd pages,前次备份到了哪个LSN可以看前次备份集的xtrabackup_checkpoints文件

--incremental-basedir=name

该参数在backup的时候使用,备份比该参数指定位置的备份集新的idb pages

--incremental-dir=name

该参数在prepare的时候使用,指定prepare时产生的.delta文件和日志文件的存放路径

--databases=name

--tables=name

在备份file-per-table类型的数据文件时使用,使用正则表达式指定需要备份的innodb表

--datadir=name

MySQL数据库的数据文件目录。

--stream

生成压缩文件,速度比较慢

全备的备份还原:

xtrabackup  --defaults-file=/data/work/mysql-5.5.38/data/mysql3306/my3306.cnf  --backup  --target-dir=/data/bak_test/1

xtrabackup备份工具

给备份做恢复前准备。

xtrabackup  --defaults-file=/data/work/mysql-5.5.38/data/mysql3306/my3306.cnf  --prepare  --target-dir=/data/bak_test/1

xtrabackup备份工具

增量备份:

xtrabackup备份工具

给增量备份做恢复前准备

xtrabackup --defaults-file=/data/work/mysql-5.5.38/data/mysql3306/my3306.cnf --prepare --target-dir=/data/bak_test/2

xtrabackup备份工具

拷贝备份到数据库目录下

xtrabackup备份工具

修改权限并重启数据

xtrabackup备份工具

重启

xtrabackup备份工具

innobackupex

常规参数

--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 MASTER TO MASTER_LOG_FILE='', MASTER_LOG_POS=0

--socket=SOCKET

指定mysql.sock所在位置,以便备份进程登录mysql.

--databases=name

指定要备份的库

--tables=name

在备份file-per-table类型的数据文件时使用,使用正则表达式指定需要备份的innodb表

--incremental-basedir=上一个备份目录

--incremental  增量备份

全备 innobackupex  --user=root --password=xxxxx--defaults-file=/data/work/mysql-5.5.38/data/mysql3306/my3306.cnf  /data/bak_test/3

xtrabackup备份工具

恢复前的准备   xtrabackup  --defaults-file=/data/work/mysql-5.5.38/data/mysql3306/my3306.cnf  --prepare  --target-dir=/data/bak_test/3/2015-05-28_09-59-28

xtrabackup备份工具

apply-log,为了加快速度,一般建议设置--use-memory,这个步骤完成之后,目录/backup/mysql/data/2013-10-29_09-05-25下的备份文件已经准备就绪

xtrabackup备份工具

拷贝数据到数据库数据目录下对文件进行权限修改启动数据。

增量备份:

增量备份需要基于全备,先假设我们已经有了一个全备(x )或基于上一个增量备份之上,在该全表的基础上做增量备份。

--defaults-file=/data/work/mysql-5.5.38/data/mysql3306/my3306.cnf --user=root --password=xxxx  --incremental-basedir=/data/bak_test/3/2015-05-28_10-23-35 --incremental /data/bak_test/

xtrabackup备份工具

曾备的还原

模式

innobackupex --apply-log --redo-only BASE-DIR

innobackupex --apply-log --redo-only BASE-DIR --incremental-dir=INCREMENTAL-DIR-1

innobackupex --apply-log BASE-DIR --incremental-dir=INCREMENTAL-DIR-2

其中BASE-DIR是指全备目录,INCREMENTAL-DIR-1是指第一次的增量备份,INCREMENTAL-DIR-2是指第二次的增量备份,以此类推。

第一步是在所有备份目录下重做已提交的日志

innobackupex --apply-log --redo-only /data/bak_test/3/2015-05-28_10-23-35

xtrabackup备份工具

innobackupex --apply-log --redo-only /data/bak_test/3/2015-05-28_10-23-35 --incremental-dir=/data/bak_test/2015-05-28_10-34-11

xtrabackup备份工具

回滚未完成的日志:

innobackupex --apply-log /data/bak_test/3/2015-05-28_10-23-35

xtrabackup备份工具

准备数据 prepare  ,恢复前的准备  xtrabackup  --defaults-file=/data/work/mysql-5.5.38/data/mysql3306/my3306.cnf  --prepare  --target-dir=/data/bak_test/3/2015-05-28_10-23-35

拷贝数据到数据库目录下并修改权限启动数据即可。

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


本文题目:xtrabackup备份工具-创新互联
文章起源:http://azwzsj.com/article/cdhjdo.html