上篇整理了innobackupex命令的用法:innobackupex命令用法实战,接下来介绍xtrabackup命令的用法。其中xtrabackup命令使用说明可以参考:Percona XtraBackup使用说明

完全备份

1.创建备份

[root@linux-node1 backup]# xtrabackup --user=backup --password=123456 --databases=zabbix --backup --target-dir=/data/backup/xtrabackup/

2.将备份推送到测试机

[root@linux-node1 backup]# scp -r xtrabackup/ root@192.168.20.201:/data/backup/

3.准备备份

[root@test backup]# xtrabackup --prepare --target-dir=/data/backup/xtrabackup/

4.恢复备份

#关闭数据库:
[root@test mysql]# systemctl stop mariadb
#恢复备份
[root@test backup]# rsync -avrP /data/backup/xtrabackup/ /var/lib/mysql/
[root@test mysql]# chown -R mysql:mysql /var/lib/mysql
#启动数据库:
[root@test mysql]# systemctl start mariadb

现在数据已经恢复到执行完整备份命令时的时间。查看数据:

增量备份

1.创建增量备份
首先先创建完全备份:

[root@linux-node1 backup]# xtrabackup --user=backup --password=123456 --databases=zabbix --backup --target-dir=/data/backup/xtrabackup/

创建第一次增量备份:

[root@linux-node1 backup]# xtrabackup --user=backup --password=123456 --databases=zabbix --backup --target-dir=/data/backup/inc1 --incremental-basedir=/data/backup/xtrabackup/

创建第二次增量备份:

[root@linux-node1 backup]# xtrabackup --user=backup --password=123456 --databases=zabbix --backup --target-dir=/data/backup/inc2 --incremental-basedir=/data/backup/inc1

2.推送备份到测试机:

[root@linux-node1 backup]# scp -r xtrabackup/ root@192.168.20.201:/data/backup/
[root@linux-node1 backup]# scp -r inc1/ root@192.168.20.201:/data/backup/
[root@linux-node1 backup]# scp -r inc2/ root@192.168.20.201:/data/backup/

3.准备备份
先准备基础备份:

[root@test backup]# xtrabackup --prepare --apply-log-only --target-dir=/data/backup/xtrabackup/

将第一次增量备份应用到完全备份:

[root@test backup]# xtrabackup --prepare --apply-log-only --target-dir=/data/backup/xtrabackup/ --incremental-dir=/data/backup/inc1

准备第二次增量备份是一个类似的过程:

[root@test backup]# xtrabackup --prepare --target-dir=/data/backup/xtrabackup/ --incremental-dir=/data/backup/inc2/

4.恢复数据

#关闭数据库:
[root@test mysql]# systemctl stop mariadb
#恢复数据:
[root@test backup]# rsync -avrP /data/backup/xtrabackup/ /var/lib/mysql/
[root@test mysql]# chown -R mysql:mysql /var/lib/mysql
#启动数据库:
[root@test mysql]# systemctl start mariadb

现在数据已经恢复到执行第二次增量备份命令时的时间。查看数据:

xtrabackup参数说明

具体使用方法可以参考:Percona XtraBackup使用说明

通用选项:-u, --user=name
    -p, --password[=name]
    -P, --port=#
    -H, --host=name
    -S, --socket=name

备份选项:--backup    #创建备份并且放入--target-dir目录中
    --target-dir   #指定backup的目的地,如果目录不存在,xtrabakcup会创建。如果目录存在且为空则成功。不会覆盖已存在的文件。
    示例:$ xtrabackup --backup --target-dir=/data/backups/增量选项:--incremental-basedir
    示例:$ xtrabackup --backup --target-dir=/data/backups/inc1 --incremental-basedir=/data/backups/base压缩解压选项:--compress  #压缩
    --compress-threads=n   #启用n个线程进行压缩
    --decompress  #准备数据之前先解压

加密解密选项:--encrypt=AES128|AES192|AES256
    --encrypt-key=ENCRYPTION_KEY   #使用适当长度的加密密钥。不建议在通过命令行访问机器的情况下使用此选项,因此可以将该密钥视为过程信息的一部分
    --encrypt-key-file=KEYFILE     #可从中读取适当长度的原始密钥的文件的名称。该文件必须是一个简单的二进制(或文本)文件,其中包含准确使用的密钥
--encrypt-threads    #可以指定多个线程并行地进行加密
    --encrypt-chunk-size #可用于指定每个加密线程的工作加密缓冲区的大小(以字节为单位)(默认值为64K)
--decrypt  #解密

准备选项:--prepare    #实现通过回滚未提交的事务及同步已经提交的事务至数据文件使数据文件处于一致性状态
    --apply-log-only   #prepare备份的时候只执行redo阶段,用于增量备份(最后一次增量备份的准备不需要此选项)。

恢复选项:--copy-back:做数据恢复时将备份数据文件拷贝到MySQL服务器的datadir。
    --move-back:这个选项与--copy-back相似,唯一的区别是它不拷贝文件,而是移动文件到目的地。这个选项移除backup文件,用时候必须小心。
    还可以通过rsync或cp来恢复文件示例:$ rsync -avrP /data/backup/ /var/lib/mysql/

参数说明:

--apply-log-only:prepare备份的时候只执行redo阶段,用于增量备份。
--backup:创建备份并且放入--target-dir目录中
--close-files:不保持文件打开状态,xtrabackup打开表空间的时候通常不会关闭文件句柄,目的是为了正确处理DDL操作。如果表空间数量非常巨大并且不适合任何限制,一旦文件不在被访问的时候这个选项可以关闭文件句柄.打开这个选项会产生不一致的备份。
--compact:创建一份没有辅助索引的紧凑备份
--compress:压缩所有输出数据,包括事务日志文件和元数据文件,通过指定的压缩算法,目前唯一支持的算法是quicklz.结果文件是qpress归档格式,每个xtrabackup创建的*.qp文件都可以通过qpress程序提取或者解压缩
--compress-chunk-size=#:压缩线程工作buffer的字节大小,默认是64K
--compress-threads=#:xtrabackup进行并行数据压缩时的worker线程的数量,该选项默认值是1,并行压缩('compress-threads')可以和并行文件拷贝('parallel')一起使用。例如:'--parallel=4 --compress --compress-threads=2'会创建4个IO线程读取数据并通过管道传送给2个压缩线程。
--create-ib-logfile:这个选项目前还没有实现,目前创建Innodb事务日志,你还是需要prepare两次。
--datadir=DIRECTORY:backup的源目录,mysql实例的数据目录。从my.cnf中读取,或者命令行指定。
--defaults-extra-file=[MY.CNF]:在global files文件之后读取,必须在命令行的第一选项位置指定。
--defaults-file=[MY.CNF]:唯一从给定文件读取默认选项,必须是个真实文件,必须在命令行第一个选项位置指定。
--defaults-group=GROUP-NAME:从配置文件读取的组,innobakcupex多个实例部署时使用。
--export:为导出的表创建必要的文件
--extra-lsndir=DIRECTORY:(for --bakcup):在指定目录创建一份xtrabakcup_checkpoints文件的额外的备份。
--incremental-basedir=DIRECTORY:创建一份增量备份时,这个目录是增量别分的一份包含了full bakcup的Base数据集。
--incremental-dir=DIRECTORY:prepare增量备份的时候,增量备份在DIRECTORY结合full backup创建出一份新的full backup。
--incremental-force-scan:创建一份增量备份时,强制扫描所有增在备份中的数据页即使完全改变的page bitmap数据可用。
--incremetal-lsn=LSN:创建增量备份的时候指定lsn。
--innodb-log-arch-dir:指定包含归档日志的目录。只能和xtrabackup --prepare选项一起使用。
--innodb-miscellaneous:从My.cnf文件读取的一组Innodb选项。以便xtrabackup以同样的配置启动内置的Innodb。通常不需要显示指定。
--log-copy-interval=#:这个选项指定了log拷贝线程check的时间间隔(默认1秒)。
--log-stream:xtrabakcup不拷贝数据文件,将事务日志内容重定向到标准输出直到--suspend-at-end文件被删除。这个选项自动开启--suspend-at-end。
--no-defaults:不从任何选项文件中读取任何默认选项,必须在命令行第一个选项。
--databases=#:指定了需要备份的数据库和表。
--database-file=#:指定包含数据库和表的文件格式为databasename1.tablename1为一个元素,一个元素一行。
--parallel=#:指定备份时拷贝多个数据文件并发的进程数,默认值为1。
--prepare:xtrabackup在一份通过--backup生成的备份执行还原操作,以便准备使用。
--print-default:打印程序参数列表并退出,必须放在命令行首位。
--print-param:使xtrabackup打印参数用来将数据文件拷贝到datadir并还原它们。
--rebuild_indexes:在apply事务日志之后重建innodb辅助索引,只有和--prepare一起才生效。
--rebuild_threads=#:在紧凑备份重建辅助索引的线程数,只有和--prepare和rebuild-index一起才生效。
--stats:xtrabakcup扫描指定数据文件并打印出索引统计。
--stream=name:将所有备份文件以指定格式流向标准输出,目前支持的格式有xbstream和tar。
--suspend-at-end:使xtrabackup在--target-dir目录中生成xtrabakcup_suspended文件。在拷贝数据文件之后xtrabackup不是退出而是继续拷贝日志文件并且等待知道xtrabakcup_suspended文件被删除。这项可以使xtrabackup和其他程序协同工作。
--tables=name:正则表达式匹配database.tablename。备份匹配的表。
--tables-file=name:指定文件,一个表名一行。
--target-dir=DIRECTORY:指定backup的目的地,如果目录不存在,xtrabakcup会创建。如果目录存在且为空则成功。不会覆盖已存在的文件。
--throttle=#:指定每秒操作读写对的数量。
--tmpdir=name:当使用--print-param指定的时候打印出正确的tmpdir参数。
--to-archived-lsn=LSN:指定prepare备份时apply事务日志的LSN,只能和xtarbackup --prepare选项一起用。
--user-memory = #:通过--prepare prepare备份时候分配多大内存,目的像innodb_buffer_pool_size。默认值100M如果你有足够大的内存。1-2G是推荐值,支持各种单位(1MB,1M,1GB,1G)。
--version:打印xtrabackup版本并退出。
--xbstream:支持同时压缩和流式化。需要客服传统归档tar,cpio和其他不允许动态streaming生成的文件的限制,例如动态压缩文件,xbstream超越其他传统流式/归档格式的的优点是,并发stream多个文件并且更紧凑的数据存储(所以可以和--parallel选项选项一起使用xbstream格式进行streaming)。

参考链接

http://www.cnblogs.com/zhoujinyi/p/5893333.html

xtrabackup命令用法实战相关推荐

  1. Linux Shell nohup命令用法(内含代码演示)

    一.Linux Shell nohup命令用法 在应用Unix/Linux时,我们一般想让某个程序在后台运行,于是我们将常会用 & 在程序结尾来让程序自动运行.比如我们要运行mysql在后台: ...

  2. pm2常用的命令用法介绍

    pm2 是一个带有负载均衡功能的Node应用的进程管理器.当你要把你的独立代码利用全部的服务器上的所有CPU,并保证进程永远都活着,0秒的重载, PM2是完美的,下面我们来看pm2常用的命令用法介绍吧 ...

  3. 7月11日任务 shell介绍、shell结构和执行 、date命令用法、shell脚本中的变量

    2019独角兽企业重金招聘Python工程师标准>>> 20.1 Shell脚本介绍 • shell是一种脚本语言  aming_linux  blog.lishiming.net ...

  4. 常见Shell命令用法总结

    2019独角兽企业重金招聘Python工程师标准>>> 常见命令用法总结 -----  目录:  --- 关于grep的总结   关于egrep的总结   关于tr的总结  关于so ...

  5. linux 指令tftp传输文件_Linux tftp 命令用法详解-Linux命令大全(手册)

    tftp 在本机和tftp服务器之间使用TFTP协议传输文件 补充说明 tftp命令 用在本机和tftp服务器之间使用TFTP协议传输文件. TFTP是用来下载远程文件的最简单网络协议,它其于UDP协 ...

  6. Linux Shell脚本入门--wget 命令用法详解

    Linux Shell脚本入门--wget 命令用法详解 wget是在Linux下开发的开放源代码的软件,作者是Hrvoje Niksic,后来被移植到包括Windows在内的各个平台上.它有以下功能 ...

  7. split命令用法(shell)

    split命令用法 s p l i t用来将大文件分割成小文件.有时文件越来越大,传送这些文件时,首先将其分割可能更容易.使用v i或其他工具诸如s o r t时,如果文件对于工作缓冲区太大,也会存在 ...

  8. linux中ftp的用法,linux中的ftp命令用法(7页)-原创力文档

    第 第 PAGE 1 页 共 NUMPAGES 1 页 linux中的ftp命令用法 Linux系统中的ftp命令功能强大,那么它的具体用法是怎样呢?下面由小编为大家整理了linux中的ftp命令用法 ...

  9. Linux下mknod的作用,Linux系统mknod命令用法

    欢迎来到学习啦,本文介绍Linux系统mknod命令用法 ,欢迎您阅读. mknod 用法: 名字 mknod - 建立块专用或字符专用文件 总览 mknod [options] name {bc} ...

最新文章

  1. 云不再遥远,云将无处不在
  2. require(os)
  3. scoped原理、不足、弥补或替代
  4. 一篇文章助你了解机器学习
  5. 输入3个字符串,按由小到大顺序输出
  6. ngix 创建新的网站
  7. 7-7 列出叶结点 (10 分)
  8. Eclipse修改项目编码
  9. 账龄分析表excel模板_老会计分享财务报表及EXCEL会计报表分析系统模板!收藏领取!...
  10. 金额中文大写c语言,C语言编程:数字金额转换为中文大写金额?
  11. prisma 风格设置_Prisma中的身份验证-第1部分:设置
  12. 使用网络模拟器 Packet Tracer和交换机的端口配置与管理及Telnet远程登陆配置
  13. video 播放视频被x5内核浏览器劫持时的处理记录
  14. 广色域图片Android,广色域手机很厉害?其实安卓手机屏幕的色彩问题一
  15. 西电捷通TISec解决方案保障配电网通信安全
  16. 超酷震撼 HTML5/CSS3动画应用及源码
  17. H3C无线AC+AP配置2—有密码登录
  18. 虚拟机设置共享文件夹不显示
  19. iOS——KVO与KCO
  20. 一个上手简单的小项目:抖音评论截流卖资料

热门文章

  1. 方舟生存进化联机显示没有找到服务器,方舟生存进化联机服务器怎么选_方舟生存进化联机服务器选择介绍-星芒手游网...
  2. 【MathType安装】Office2019+MathType7.4.8.0+踩坑记录+最终使用方案
  3. 红场|春日已至,万物复苏——王蓝莓系列数字藏品盲盒正式开售!
  4. 小白学python(opencv模糊)
  5. API简介,如何运用API接口获取商品数据(淘宝/天猫、1688、拼多多、京东等二十多个海内外电商平台)
  6. 华为手机会升级鸿蒙,可以升级到鸿蒙OS的四款华为手机,相信都没有后悔入手!...
  7. linux之关机、重启命令
  8. 如何拥有自己的openLooKeng?超详细的安装配置指导看这里
  9. 【1】WIN10连接上了wifi,但显示无网络访问权限的解决方法
  10. 怎么看zipkin服务Linux,zipkin