基本命令:

--defaults-file:指明服务器的配置文件,此参数必须作为innobackupex的第一个参数,否则报错

--host:指明主机

--user:指明备份的用户名

--password:指明备份用户名的密码

--backup:指明为备份,此参数可以忽略

/tmp/backup:备份的目录

--backup:指明为备份

--apply-log:指明为重做日志

--copy-back:指明为恢复

--slave-info:备份从库的show slave status信息,仅用于在备份从库时使用

--no-lock:不锁表,仅适用于存储引擎为innodb,并且不在乎备份位置点时使用

增量备份:

--incremental:指明为增量备份

--incremental-basedir:指明此次的增量备份是基于之前的哪一次备份,增量备份仅适用于innodb和xtradb引擎

--redo-only:再次重做日志,用于增量备份的恢复过程中

--incremental-dir:恢复增量备份时,指明增量备份的目录

部分备份:

--include:使用正则表达式备份匹配到的内容;例:备份mysql库中的user表,--include='^mysql[.]user'

--table-files:如果要备份多个表,可以把多个表以”数据库名.表名“的方式写到文件中,备份时指定此文件

--databases:可以备份整个库,也可以备份库中的某个表,备份表时用”库名.表名“的方式

--export:使用部分备份恢复时用此选项,这和完整备份和增量备份有所区别

高级命令:

xtrabackup在执行备份时,会等待获得全局锁,对于长时间执行的语句,会引发锁争用的问题!

--lock-wait-timeout:指明执行flush tables with read lock前的等待时间,0表示不等待直接执行锁表命令,单位是s,若超过此参数设置的时间后还存在长时间执行的查询,则xtrabackup终止运行

--lock-wait-query-type:可以为all和update;若设置为all,表示等待所有类型的语句执行完成后再执行flush tables with read lock; 若设置update,则表示等待除了select之外sql语句执行完成,再执行锁表操作

--kill-long-queries-timeout:执行flush tables with read lock后等待的秒数

--kill-long-query-type:可以为all和select; 若为all,表示超过等待的秒数,强制终止所有的查询;若为select,表示强制终止select类型的查询