文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

xtrabackup备份工具

2024-04-02 19:55

关注

xtrabackup备份工具

  下载地址   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

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


阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯