The xtrabackup Option Reference

This page documents all of the command-line options for the xtrabackup binary.



This option causes only the redo stage to be performed when preparing a backup. It is very important for incremental backups.


Make a backup and place it in --target-dir. See Creating a backup.


Do not keep files opened. When xtrabackup opens tablespace it normally doesn’t close its file handle in order to handle the DDL operations correctly. However, if the number of tablespaces is really huge and can not fit into any limit, there is an option to close file handles once they are no longer accessed. Percona XtraBackup can produce inconsistent backups with this option enabled. Use at your own risk.


Create a compact backup by skipping secondary index pages.


This option tells xtrabackup to compress all output data, including the transaction log file and meta data files, using the specified compression algorithm. The only currently supported algorithm is ‘quicklz’. The resulting files have the qpress archive format, i.e. every *.qp file produced by xtrabackup is essentially a one-file qpress archive and can be extracted and uncompressed by the qpress file archiver.


Size of working buffer(s) for compression threads in bytes. The default value is 64K.


This option specifies the number of worker threads used by xtrabackup for parallel data compression. This option defaults to 1. Parallel compression (‘–compress-threads’) can be used together with parallel file copying (‘–parallel’). For example, ‘–parallel=4 –compress –compress-threads=2’ will create 4 IO threads that will read the data and pipe it to 2 compression threads.


This option is not currently implemented. To create the InnoDB log files, you must prepare the backup twice at present.


The source directory for the backup. This should be the same as the datadir for your MySQL server, so it should be read from my.cnf if that exists; otherwise you must specify it on the command line.


Read this file after the global files are read. Must be given as the first option on the command-line.


Only read default options from the given file. Must be given as the first option on the command-line. Must be a real file; it cannot be a symbolic link.


This option is to set the group which should be read from the configuration file. This is used by innobackupex if you use the –defaults-group option. It is needed for mysqld_multi deployments.


Create files necessary for exporting tables. See Restoring Individual Tables.


(for –backup): save an extra copy of the xtrabackup_checkpoints file in this directory.


When creating an incremental backup, this is the directory containing the full backup that is the base dataset for the incremental backups.


When preparing an incremental backup, this is the directory where the incremental backup is combined with the full backup to make a new full backup.


When creating an incremental backup, force a full scan of the data pages in the instance being backuped even if the complete changed page bitmap data is available.


When creating an incremental backup, you can specify the log sequence number (LSN) instead of specifying --incremental-basedir. For databases created by MySQL and Percona Server 5.0-series versions, specify the LSN as two 32-bit integers in high:low format. For databases created in 5.1 and later, specify the LSN as a single 64-bit integer. ##ATTENTION##: If a wrong LSN value is specified (a user error which XtraBackup is unable to detect), the backup will be unusable. Be careful!


This option is used to specify the directory containing the archived logs. It can only be used with the xtrabackup --prepare option.


There is a large group of InnoDB options that are normally read from the my.cnf configuration file, so that xtrabackup boots up its embedded InnoDB in the same configuration as your current server. You normally do not need to specify these explicitly. These options have the same behavior that they have in InnoDB or XtraDB. They are as follows:


This option specifies time interval between checks done by log copying thread in milliseconds (default is 1 second).


Makes xtrabackup not copy data files, and output the contents of the InnoDB log files to STDOUT until the --suspend-at-end file is deleted. This option enables --suspend-at-end automatically.


Don’t read default options from any option file. Must be given as the first option on the command-line.


This option specifies the number of threads to use to copy multiple data files concurrently when creating a backup. The default value is 1 (i.e., no concurrent transfer).


Makes xtrabackup perform recovery on a backup created with --backup, so that it is ready to use. See preparing a backup.


Print the program argument list and exit. Must be given as the first option on the command-line.


Makes xtrabackup print out parameters that can be used for copying the data files back to their original locations to restore them. See Scripting Backups With xtrabackup.


Rebuild secondary indexes in InnoDB tables after applying the log. Only has effect with –prepare.


Use this number of threads to rebuild indexes in a compact backup. Only has effect with –prepare and –rebuild-indexes.


Causes xtrabackup to scan the specified data files and print out index statistics.


Stream all backup files to the standard output in the specified format. Currently supported formats are ‘xbstream’ and ‘tar’.


Causes xtrabackup to create a file called xtrabackup_suspended in the --target-dir. Instead of exiting after copying data files, xtrabackup continues to copy the log file, and waits until the xtrabackup_suspended file is deleted. This enables xtrabackup and other programs to coordinate their work. See Scripting Backups With xtrabackup.


A regular expression against which the full tablename, in databasename.tablename format, is matched. If the name matches, the table is backed up. See partial backups.


A file containing one table name per line, in databasename.tablename format. The backup will be limited to the specified tables. See Scripting Backups With xtrabackup.


This option specifies the destination directory for the backup. If the directory does not exist, xtrabackup creates it. If the directory does exist and is empty, xtrabackup will succeed. xtrabackup will not overwrite existing files, however; it will fail with operating system error 17, file exists.

If this option is a relative path, it is interpreted as being relative to the current working directory from which xtrabackup is executed.


This option limits --backup to the specified number of read+write pairs of operations per second. See throttling a backup.


This option is currently not used for anything except printing out the correct tmpdir parameter when --print-param is used.


This option is used to specify the LSN to which the logs should be applied when backups are being prepared. It can only be used with the xtrabackup --prepare option.


This option affects how much memory is allocated for preparing a backup with --prepare, or analyzing statistics with --stats. Its purpose is similar to innodb_buffer_pool_size. It does not do the same thing as the similarly named option in Oracle’s InnoDB Hot Backup tool. The default value is 100MB, and if you have enough available memory, 1GB to 2GB is a good recommended value. Multiples are supported providing the unit (e.g. 1MB, 1M, 1GB, 1G).


This option prints xtrabackup version and exits.

Contact Us

For free technical help, visit the Percona Community Forum.
To report bugs or submit feature requests, open a JIRA ticket.
For paid support and managed or professional services, contact Percona Sales.