Xtrabackup

Backup a MySQL instance using Percona XtraBackup.

Note

Percona XtraBackup is a trademark of Percona LLC The Holland Project does not intend the use or display of Percona’s trademark to imply a relationship with, or endorsement or sponsorship of the Holland Project by Percona.

Configuration

[xtrabackup]

global-defaults = <path> (default: /etc/my.cnf)

The MySQL configuration file for xtrabackup to parse. This is !include’d into the my.cnf the xtrabackup plugin generates

innobackupex = <name> (default: innobackupex)

The path to the innobackupex script to run. If this is a relative path this will be found in holland’s environment PATH as configured in /etc/holland/holland.conf.

ibbackup = <name>

The path to the ibbackup command to use. By default, no –ibbackup option is pass to the innobackupex script. Usually innobackupex will detect this by itself and this should not need to be set.

stream = tar|xbstream|yes|no (default: tar)

Whether to generate a streaming backup.

Changed in version 1.0.8: ‘tar’ and ‘xbstream’ are now valid options. The old stream = yes is now equivalent to stream = tar and stream = no disables streaming entirely and will result in a normal directory copy with xtrabackup

apply-logs = yes | no (default: yes)

Whether to run innobackupex --apply-logs at the end of the backup. This is only supported when performing a non-streaming, non-compressed backup. In this case, even if apply-logs = yes (the default), the prepare stage will be skipped. Even with an uncompressed, non-streaming backup you may want to disable apply-logs if you wish to use incremental backups.

New in version 1.0.8.

slave-info = yes | no (default: yes)

Whether to enable the –slave-info innobackupex option

safe-slave-backup = yes | no (default: yes)

Whether to enable the –safe-slave-backup innobackupex option.

no-lock = yes | no (default: no)

Whether to enable the –no-lock innobackupex option

tmpdir = <path> (default: ${backup_directory})

The path for the innobackupex –tmpdir option. By default this will use the current holland backup directory to workaround the following bug: https://bugs.launchpad.net/percona-xtrabackup/+bug/1007446

New in version 1.0.8.

additional-options = <option>[, <option>...]

A list of additional options to pass to innobackupex. This is a comma separated list of options.

pre-command = <command-string>

A command to run prior to running this xtrabackup run. This can be used, for instance, to generate a mysqldump schema dump prior to running xtrabackup. instances of ${backup_directory} will be replaced with the current holland backup directory where the xtrabackup data will be stored.

[compression]

Specify various compression settings, such as compression utility, compression level, etc.

method = gzip | pigz | bzip | lzop | lzma | gpg

Define which compression method to use. Note that some methods may not be available by default on every system and may need to be compiled or installed and may not work with all the compression options.

inline = yes | no

Whether or not to pipe the output of mysqldump into the compression utility. Enabling this is recommended since it usually only marginally impacts performance, particularly when using a lower compression level.

level = 0-9

Specify the compression ratio. The lower the number, the lower the compression ratio, but the faster the backup will take. Generally, setting the lever to 1 or 2 results in favorable compression of textual data and is noticeably faster than the higher levels. Setting the level to 0 effectively disables compression.

bin-path = <full path to utility>

This only needs to be defined if the compression utility is not in the usual places or not in the system path.

options = <string of otpions>

Pass additional options not included in the above directly to the compression utility (e.g. --compress-algo=bzip2 if using ‘gpg’).

MySQL connection info [mysql:client]

These are optional and, if left undefined, Holland will try to login using the standard .my.cnf conventions.

user = <user>

The user to connect to MySQL as.

password = <password>

The password for the MySQL user

socket = <socket>

The socket file to connect to MySQL with.

host = <host>

This would be used for connecting to MySQL remotely.

port = <port>

Used if MySQL is running on a port other than 3306.