mariabackup Options

You are viewing an old version of this article. View the current version here.

Contents

  1. mariabackup Options
    1. List of Options
      1. --backup
      2. --binlog-info
      3. --close-files
      4. --compress
      5. --compress-chunk-size
      6. --compress-threads
      7. --copy-back
      8. --core-file
      9. --databases
      10. --databases-exclude
      11. --databases-file
      12. -h, --datadir
      13. --debug-sleep-before-unlock
      14. --decompress
      15. --debug-sync
      16. --defaults-extra-file
      17. --defaults-file
      18. --defaults-group
      19. --export
      20. --extra-lsndir
      21. --force-non-empty-directories
      22. --ftwrl-wait-query-type
      23. --ftwrl-wait-threshold
      24. --ftwrl-wait-timeout
      25. --galera-info
      26. --history
      27. -H, --host
      28. --incremental-basedir
      29. --incremental-dir
      30. --incremental-force-scan
      31. --incremental-history-name
      32. --incremental-history-uuid
      33. --incremental-lsn
      34. --innobackupex
      35. --innodb
      36. --innodb-adaptive-hash-index
      37. --innodb-autoextend-increment
      38. --innodb-buffer-pool-filename
      39. --innodb-buffer-pool-size
      40. --innodb-checksum-algorithm
      41. --innodb-data-file-path
      42. --innodb-data-home-dir
      43. --innodb-doublewrite
      44. --innodb-encrypt-log
      45. --innodb-file-io-threads
      46. --innodb-file-per-table
      47. --innodb-flush-method
      48. --innodb-io-capacity
      49. --innodb-log-checksums
      50. --innodb-log-buffer-size
      51. --innodb-log-files-in-group
      52. --innodb-log-group-home-dir
      53. --innodb-max-dirty-pages-pct
      54. --innodb-open-files
      55. --innodb-page-size
      56. --innodb-read-io-threads
      57. --innodb-undo-directory
      58. --innodb-undo-tablespaces
      59. --innodb-use-native-aio
      60. --innodb-write-io-threads
      61. --kill-long-queries-timeout
      62. --kill-long-query-type
      63. --lock-ddl-per-table
      64. --log
      65. --log-bin
      66. --log-copy-interval
      67. --move-back
      68. --no-backup-locks
      69. --no-lock
      70. --no-version-check
      71. --open-files-limit
      72. --parallel
      73. -p, --password
      74. --plugin-dir
      75. --plugin-load
      76. -P, --port
      77. --prepare
      78. --print-defaults
      79. --print-param
      80. --rsync
      81. --safe-slave-backup
      82. --safe-slave-backup-timeout
      83. --secure-auth
      84. --skip-innodb-adaptive-hash-index
      85. --skip-innodb-doublewrite
      86. --skip-innodb-log-checksums
      87. --skip-secure-auth
      88. --slave-info
      89. -S, --socket
      90. --stream
      91. --tables
      92. --tables-exclude
      93. --tables-file
      94. --target-dir
      95. --throttle
      96. -t, --tmpdir
      97. --use-memory
      98. --user
      99. --version
      100. --version-check

mariabackup Options

There are a number of options available in mariabackup.

List of Options

--backup

Backs up your databases.

Using this command option, MariaDB Backup performs a backup operation on your database or databases. The backups are written to the target directory, as set by the --target-dir option.

$ mariabackup --backup 
      --target-dir /path/to/backup \
      --user user_name --password user_passwd

MariaDB Backup can perform full and incremental backups. A full backup creates a snapshot of the database in the target directory. An incremental backup checks the database against a previously taken full backup, (defined by the --incremental-basedir option) and creates delta files for these changes.

In order to restore from a backup, you first need to run MariaDB Backup with the --prepare command option, to make a full backup point-in-time consistent or to apply incremental backup deltas to base. Then you can run MariaDB Backup again with either the --copy-back or --move-back commands to restore the database.

For more information, see Full Backup and Restore and Incremental Backup and Restore.

--binlog-info

Defines how MariaDB Backup retrieves the binary log coordinates from the server.

--binlog-info[=OFF | ON | LOCKLESS | AUTO]

The --binlog-info option supports the following retrieval methods. When no retrieval method is provided, it defaults to AUTO.

OptionDescription
OFFDisables the retrieval of binary log information
ONEnables the retrieval of binary log information, performs locking where available to ensure consistency
LOCKLESSUnsupported option
AUTOEnables the retrieval of binary log information using ON or LOCKLESS where supported

Using this option, you can control how MariaDB Backup retrieves the server's binary log coordinates corresponding to the backup.

When enabled, whether using ON or AUTO, MariaDB Backup retrieves information from the binlog during the backup process. When disabled with OFF, MariaDB Backup runs without attempting to retrieve binary log information. You may find this useful when you need to copy data without metadata like the binlog or replication coordinates.

$ mariabackup --binlog-info --backup

Currently, the LOCKLESS option depends on features unsupported by MariaDB Server. If you attempt to run MariaDB Back with this option, it causes the utility to exit with an error.

--close-files

Defines whether you want to close file handles.

Using this option, you can tell MariaDB Backup that you want to close file handles. Without this option, MariaDB Backup keeps files open in order to manage DDL operations. When working with particularly large tablespaces, closing the file can make the backup more manageable. However, it can also lead to inconsistent backups. Use at your own risk.

$ mariabackup --close-files --prepare

--compress

Defines the compression algorithm for backup files. Deprecated. It is recommended to backup to stream (stdout), and use a 3rd party compression library to compress the stream, as described in Using Encryption and Compression Tools With mariabackup.

--compress[=compression_algorithm]

The --compress option supports the following algorithms. When no algorithm is provided, it defaults to quicklz.

OptionDescription
quicklzUses the QuickLZ compression algorithm

Using this option, you can tell MariaDB Backup to compress its backup files before writing them to disk. You may find this useful when backing up particularly large databases.

You can optionally pass a value to this option, defining what compression algorithm you want to use for this process. However, currently, MariaDB Backup only supports the QuickLZ algorithm, which is the default value.

$ mariabackup --compress --backup

To further configure backup compression, see the --compress-threads and --compress-chunk-size options.

--compress-chunk-size

Defines the working buffer size for compression threads.

--compress-chunk-size=#

MariaDB Backup can perform compression operations on the backup files before writing them to disk. It can also use multiple threads for parallel data compression during this process. Using this option, you can set the chunk size each thread uses during compression. It defaults to 64K.

$ mariabackup --backup --compress \
     --compress-threads=12 --compress-chunk-size=5M

To further configure backup compression, see the --compress and --compress-threads options.

--compress-threads

Defines the number of threads to use in compression.

--compress-threads=#

MariaDB Backup can perform compression operations on the backup files before writing them to disk. Using this option, you can define the number of threads you want to use for this operation. You may find this useful in speeding up the compression of particularly large databases. It defaults to single-threaded.

$ mariabackup --compress --compress-threads=12 --backup

To further configure backup compression, see the --compress and --compress-chunk-size options.

--copy-back

Restores the backup to the data directory.

Using this command, MariaDB Backup copies the backup from the target directory to the data directory, as defined by the --datadir option. You must stop the MariaDB Server before running this command. The data directory must be empty. If you want to overwrite the data directory with the backup, use the --force-non-empty-directories option.

Bear in mind, before you can restore a backup, you first need to run MariaDB Backup with the --prepare option. In the case of full backups, this makes the files point-in-time consistent. With incremental backups, this applies the deltas to the base backup. Once the backup is prepared, you can run --copy-back to apply it to MariaDB Server.

$ mariabackup --copy-back --force-non-empty-directories --backup

Running the --copy-back command copies the backup files to the data directory. Use this command if you want to save the backup for later. If you don't want to save the backup for later, use the --move-back command.

--core-file

Defines whether to write a core file.

Using this option, you can configure MariaDB Backup to dump its core to file in the event that it encounters fatal signals. You may find this useful for review and debugging purposes.

$ mariabackup --core-file --backup

--databases

Defines the databases and tables you want to back up.

--databases="database[.table][ database[.table] ...]"

Using this option, you can define the specific database or databases you want to back up. In cases where you have a particularly large database or otherwise only want to back up a portion of it, you can optionally also define the tables on the database.

$ mariabackup --backup \
      --databases="example.table1 example.table2"

In cases where you want to back up most databases on a server or tables on a database, but not all, you can set the specific databases or tables you don't want to back up using the --databases-exclude option.

--databases-exclude

Defines the databases you don't want to back up.

--databases-exclude="database[.table][ database[.table] ...]"

Using this option, you can define the specific database or databases you want to exclude from the backup process. You may find it useful when you want to back up most databases on the server or tables on a database, but would like to exclude a few from the process.

$ mariabackup --backup \
      --databases="example" \
      --databases-exclude="example.table1 example.table2"

To include databases in the backup, see the --databases option option

--databases-file

Defines the path to a file listing databases and/or tables you want to back up.

--databases-file="/path/to/database-file"

Format the databases file to list one element per line, with the following syntax:

database[.table]

In cases where you need to back up a number of databases or specific tables in a database, you may find the syntax for the --databases and --databases-exclude options a little cumbersome. Using this option you can set the path to a file listing the databases or databases and tables you want to back up.

For instance, imagine you list the databases and tables for a backup in a file called main-backup.

$ cat main-backup
example1
example2.table1
example2.table2

$ mariabackup --backup --databases-file=main-backup

-h, --datadir

Defines the path to the database root.

--datadir=PATH

Using this option, you can define the path to the source directory. This is the directory that MariaDB Backup reads for the data it backs up. It should be the same as the MariaDB Server datadir system variable.

$ mariabackup --backup -h /var/lib64/mysql

--debug-sleep-before-unlock

This is a debug-only option used by the Xtrabackup test suite.

--decompress

Defines whether you want to decompress previously compressed backup files. Deprecated. It is recommended to backup to stream (stdout), and use a 3rd party compression library to compress the stream, as described in using-encryption-and-compression-tools-with-mariabackup

When you run MariaDB Backup with the --compress option, it compresses the subsequent backup files, using the QuickLZ algorithm by default, (which is currently the only available compression algorithm). Using this option, MariaDB Backup decompresses the compressed files from a previous backup.

For instance, run a backup with compression,

$ mariabackup --compress --backup

Then decompress the backup,

$ mariabackup --decompress

You can enable the decryption of multiple files at a time using the --parallel option. By default, MariaDB Backup does not remove the compressed files from the target directory. If you want to delete these files, use the --remove-original option.

This option requires that you have the qpress utility installed on your system.

--debug-sync

Defines the debug sync point. This option is only used by the MariaDB Backup test suite.

--defaults-extra-file

Defines the path to a file containing additional default configuration.

--defaults-extra-file=/path/to/config

Using this option, you can define a defaults configuration file for MariaDB Backup. Unlike --defaults-file, the settings in this file are set after the global files are read, allowing you to only overwrite the existing defaults.

$ mariabackup --backup \
      --defaults-file-extra=addition-config.cnf \
      --defaults-file=config.cnf

--defaults-file

Defines the path to a file containing the default configuration.

--defaults-file=/path/to/config

Using this option, you can define a defaults configuration file for MariaDB Backup. Unlike the --defaults-extra-file option, this option completely replaces all Backup defaults.

$ mariabackup --backup \
     --defaults-file="config.cnf

--defaults-group

Defines the group to read in the configuration file.

--defaults-group="name"

In situations where you find yourself using certain MariaDB Backup options consistently every time you call it, you can set the options in the MariaDB configuration file, (that is, your my.cnf). The --defaults-group option defines what group MariaDB Backup reads for its configuration.

Options you define from the command-line can be set in the configuration file using minor formatting changes. For instance, if you find yourself perform compression operations frequently, you might set --compress-threads and --compress-chunk-size options in this way:

[xtrabackup]
compress_threads = 12
compress_chunk_size = 64K

Now whenever you run a backup with the --compress option, it always performs the compression using 12 threads and 64K chunks.

$ mariabackup --compress --backup

By default, the group is currently set to xtrabackup, but expect this to change in future releases.

--export

Creates an export file.

When you back up your database, you're creating files to restore data to that specific database. Using this command option, you can export data from the database. You can then import the data into a different database using an ALTER TABLE...IMPORT TABLESPACE statement.

$ mariabackup --export

--extra-lsndir

Saves an extra copy of the xtrabackup_checkpoints and xtrabackup_info files into the given directory.

--extra-lsndir=PATH

When using the --backup command option, MariaDB Backup produces a number of backup files in the target directory. Using this option, you can have MariaDB Backup produce additional copies of the xtrabackup_checkpoints and xtrabackup_info files in the given directory.

$ mariabackup --extra-lsndir=extras/ --backup

--force-non-empty-directories

Allows --copy-back or --move-back command options to use non-empty target directories.

When using MariaDB Backup with the --copy-back or --move-back command options, they normally require a non-empty target directory to avoid conflicts. Using this option with either of command allows MariaDB Backup to use a non-empty directory.

$ mariabackup --force-on-empty-directories --copy-back

Bear in mind that this option does not enable overwrites. When copying or moving files into the target directory, if MariaDB Backup finds that the target file already exists, it fails with an error.

--ftwrl-wait-query-type

Defines the type of query allowed to complete before MariaDB Backup issues the global lock.

--ftwrl-wait-query-type=[ALL | UPDATE | SELECT]

The --ftwrl-wait-query-type option supports the following query types. The default value is ALL.

OptionDescription
ALLWaits until all queries complete before issuing the global lock
SELECTWaits until SELECT statements complete before issuing the global lock
UPDATEWaits until UPDATE statements complete before issuing the global lock

When MariaDB Backup runs, it issues a global lock to prevent data from changing during the backup process. When it encounters a statement in the process of executing, it waits until the statement is finished before issuing the global lock. Using this option, you can modify this default behavior to ensure that it waits only for certain query types, such as for SELECT and UPDATE statements.

$ mariabackup --backup  \
      --ftwrl-wait-query-type=UPDATE

--ftwrl-wait-threshold

Defines the minimum threshold for identifying long-running queries for FTWRL.

--ftwrl-wait-threshold=#

When MariaDB Backup runs, it issues a global lock to prevent data from changing during the backup process and ensure a consistent record. If it encounters statements still in the process of executing, it waits until they complete before setting the lock. Using this option, you can set the threshold at which MariaDB Backup engages FTWRL. When it --ftwrl-wait-timeout is not 0 and a statement has run for at least the amount of time given this argument, MariaDB Backup waits until the statement completes or until the --ftwrl-wait-timeout expires before setting the global lock and starting the backup.

$ mariabackup --backup \
     --ftwrl-wait-timeout=90 \
     --ftwrl-wait-threshold=30

--ftwrl-wait-timeout

Defines the timeout to wait for FTWRL queries before setting the global lock.

--ftwrl-wait-timeout=#

When MariaDB Backup runs, it issues a global lock to prevent data from changing during the backup process and ensure a consistent record. If it encounters statements still in the process of executing, it waits until they complete before setting the lock. Using this option, you can set the number of seconds it waits, to prevent long-running queries from blocking the backup process. The default value is 0, which indicates that MariaDB Backup does not wait for queries to complete.

$ mariabackup --backup \
      --ftwrl-wait-query-type=UPDATE \
      --ftwrl-wait-timeout=5

--galera-info

Defines whether you are backing up a Galera Cluster node.

When using this option, MariaDB Backup creates an additional file called xtrabackup_galera_info, which records information relating to the local node state. You should only use this option when backing up a node in Galera Cluster. When using MariaDB Backup on a standalone instance of MariaDB Server or a server in master-slave replication, this option has no effect.

$ mariabackup --backup --galera-info

--history

Defines whether you want to track backup history in the PERCONA_SCHEMA.xtrabackup_history table.

--history[=name]

When using this option, MariaDB Backup records its operation in a table on the MariaDB Server. Passing a name to this option allows you group backups under arbitrary terms for later processing and analysis.

$ mariabackup --backup --history=backup_all

Currently, the table it uses is PERCONA_SCHEMA.xtraback_history, but expect that to change in future releases.

-H, --host

Defines the host for the MariaDB Server you want to backup.

--host=name

Using this option, you can define the host to use when connecting to a MariaDB Server over TCP/IP. By default, MariaDB Backup attempts to connect to the local host.

$ mariabackup --backup \
      --host="example.com"

--incremental-basedir

Defines whether you want to increment a backup.

--incremental-basedir=PATH

Using this option with the --backup command option makes the operation incremental rather than a complete overwrite. When performing an incremental backup, MariaDB Backup only copies the .ibd files newer than the last backup in the given directory.

$ mariabackup --backup \
     --incremental-basedir=/data/backups \
     --target-dir=/data/backups

--incremental-dir

Defines whether you want to increment a prepared backup.

--increment-dir=PATH

Using this option with --prepare command option causes MariaDB Backup to increment the prepared backup rather than copying it from scratch. The increment applies .delta files and log files into the target directory.

$ mariabackup --prepare \
      --increment-dir=backups/

--incremental-force-scan

Defines whether you want to force a full scan for incremental backups.

When using MariaDB Backup to perform an incremental backup, this option forces it to also perform a full scan of the data pages being backed up, even when there's bitmap data on the changes.

$ mariabackup --backup \
     --incremental-basedir=/path/to/target \
     --incremental-force-scan

--incremental-history-name

Defines a logical name for the backup.

--incremental-history-name=name

MariaDB Backup can store data about its operations on the MariaDB Server. Using this option, you can define the logical name it uses in identifying the backup.

$ mariabackup --backup \
     --incremental-history-name=morning_backup

Currently, the table it uses is PERCONA_SCHEMA.xtraback_history, but expect that to change in future releases.

--incremental-history-uuid

Defines a UUID for the backup.

--incremental-history-uuid=name

MariaDB Backup can store data about its operations on the MariaDB Server. Using this option, you can define the UUID it uses in identifying a previous backup to increment from. It checks --incremental-history-name, --incremental-basedir, and --incremental-lsn. If MariaDB Backup fails to find a valid lsn, it generates an error.

$ mariabackup --backup \
      --incremental-history-uuid=main-backup012345678

Currently, the table it uses to store backup data is PERCONA_SCHEMA.xtrabackup_history, but expect that to change in future releases.

--incremental-lsn

Defines the sequence number for incremental backups.

--incremental-lsn=name

Using this option, you can define the sequence number (LSN) value for --backup operations. During backups, MariaDB Backup only copies .ibd pages newer than the specified values.

WARNING: Incorrect LSN values can make the backup unusable. It is impossible to diagnose this issue.

--innobackupex

Enables innobackupex functionality for MariaDB Backup.

The innobackupex tool patches and provides additional features over the innobackup tool for backing up InnoDB and MyISAM tables. Using this option, you can enable innobackupex features in MariaDB Backup.

$ mariabackup --innobackupex

--innodb

This option has no effect. Set only for MySQL option compatibility.

--innodb-adaptive-hash-index

Enables InnoDB Adaptive Hash Index.

MariaDB Backup initializes its own embedded instance of InnoDB using the same configuration as defined in the configuration file. Using this option you can explicitly enable the InnoDB Adaptive Hash Index. This feature is enabled by default for MariaDB Backup. If you want to disable it, use --skip-innodb-adaptive-hash-index.

$ mariabackup --backup \
      --innodb-adaptive-hash-index

--innodb-autoextend-increment

Defines the increment in megabytes for auto-extending the size of tablespace file.

--innodb-autoextend-increment=36

MariaDB Backup initializes its own embedded instance of InnoDB using the same configuration as defined in the configuration file. Using this option, you can set the increment in megabytes for automatically extending the size of tablespace data file in InnoDB.

$ mariabackup --backup \
     --innodb-autoextend-increment=35

--innodb-buffer-pool-filename

Using this option has no effect. It is available to provide compatibility with the MariaDB Server.

--innodb-buffer-pool-size

Defines the memory buffer size InnoDB uses the cache data and indexes of the table.

--innodb-buffer-pool-size=124M

MariaDB Backup initializes its own embedded instance of InnoDB using the same configuration as defined in the configuration file. Using this option, you can configure the buffer pool for InnoDB operations.

$ mariabackup --backup \
      --innodb-buffer-pool-size=124M

--innodb-checksum-algorithm

Defines the checksum algorithm.

--innodb-checksum-algorithm=crc32
                           | strict_crc32
                           | innodb
                           | strict_innodb
                           | none
                           | strict_none 

MariaDB Backup initializes its own embedded instance of InnoDB using the same configuration as defined in the configuration file. Using this option, you can specify the algorithm MariaDB Backup uses when checksumming on InnoDB tables. Currently, MariaDB supports the following algorithms CRC32, STRICT_CRC32, INNODB, STRICT_INNODB, NONE, STRICT_NONE.

$ mariabackup --backup \
      ---innodb-checksum-algorithm=strict_innodb

--innodb-data-file-path

Defines the path to individual data files.

--innodb-data-file-path=/path/to/file

MariaDB Backup initializes its own embedded instance of InnoDB using the same configuration as defined in the configuration file. Using this option you can define the path to InnoDB data files. Each path is appended to the --innodb-data-home-dir option.

$ mariabackup --backup \
     --innodb-data-file-path=ibdata1:13M:autoextend \
     --innodb-data-home-dir=/var/dbs/mysql/data

--innodb-data-home-dir

Defines the home directory for InnoDB data files.

--innodb-data-home-dir=PATH

MariaDB Backup initializes its own embedded instance of InnoDB using the same configuration as defined in the configuration file. Using this option you can define the path to the directory containing InnoDB data files. You can specific the files using the --innodb-data-file-path option.

$ mariabackup --backup \
     --innodb-data-file-path=ibdata1:13M:autoextend \
     --innodb-data-home-dir=/var/dbs/mysql/data

--innodb-doublewrite

Enables doublewrites for InnoDB tables.

MariaDB Backup initializes its own embedded instance of InnoDB using the same configuration as defined in the configuration file. When using this option, MariaDB Backup improves fault tolerance on InnoDB tables with a doublewrite buffer. By default, this feature is enabled. Use this option to explicitly enable it. To disable doublewrites, use the --skip-innodb-doublewrite option.

$ mariabackup --backup \
     --innodb-doublewrite

--innodb-encrypt-log

Defines whether you want to encrypt InnoDB logs.

MariaDB Backup initializes its own embedded instance of InnoDB using the same configuration as defined in the configuration file. Using this option, you can tell MariaDB Backup that you want to encrypt logs from its InnoDB activity.

--innodb-file-io-threads

Defines the number of file I/O threads in InnoDB.

--innodb-file-io-threads=#

MariaDB Backup initializes its own embedded instance of InnoDB using the same configuration as defined in the configuration file. Using this option, you can define the number of file I/O threads MariaDB Backup uses on InnoDB tables.

$ mariabackup --backup \
     --innodb-file-io-threads=5

--innodb-file-per-table

Defines whether you want to store each InnoDB table as an .ibd file.

MariaDB Backup initializes its own embedded instance of InnoDB using the same configuration as defined in the configuration file. Using this option causes MariaDB Backup to store each InnoDB table as an .ibd file in the target directory.

--innodb-flush-method

Defines the data flush method.

--innodb-flush-method=fdatasync 
                     | O_DSYNC 
                     | O_DIRECT 
                     | O_DIRECT_NO_FSYNC 
                     | ALL_O_DIRECT

MariaDB Backup initializes its own embedded instance of InnoDB using the same configuration as defined in the configuration file. Using this option, you can define the data flush method MariaDB Backup uses with InnoDB tables.

$ mariabackup --backup \
      --innodb-flush-method==_DIRECT_NO_FSYNC

Note, the 0_DIRECT_NO_FSYNC method is only available with MariaDB 10.0 and later. The ALL_O_DIRECT method available with version 5.5 and later, but only with tables using the XtraDB storage engine.

--innodb-io-capacity

Defines the number of IOP's the utility can perform.

--innodb-io-capacity=#

MariaDB Backup initializes its own embedded instance of InnoDB using the same configuration as defined in the configuration file. Using this option, you can limit the I/O activity for InnoDB background tasks. It should be set around the number of I/O operations per second that the system can handle, based on drive or drives being used.

$ mariabackup --backup \
     --innodb-io-capacity=200

--innodb-log-checksums

Defines whether to include checksums in the InnoDB logs.

MariaDB Backup initializes its own embedded instance of InnoDB using the same configuration as defined in the configuration file. Using this option, you can explicitly set MariaDB Backup to include checksums in the InnoDB logs. The feature is enabled by default. To disable it, use the --skip-innodb-log-checksums option.

$ mariabackup --backup \
      --innodb-log-checksums

--innodb-log-buffer-size

This option has no functionality in MariaDB Backup. It exists for MariaDB Server compatibility.

--innodb-log-files-in-group

This option has no functionality in MariaDB Backup. It exists for MariaDB Server compatibility.

--innodb-log-group-home-dir

Defines the path to InnoDB log files.

--innodb-log-group-home-dir=PATH

MariaDB Backup initializes its own embedded instance of InnoDB using the same configuration as defined in the configuration file. Using this option, you can define the path to InnoDB log files.

$ mariabackup --backup \
     --innodb-log-group-home-dir=/path/to/logs

--innodb-max-dirty-pages-pct

Defines the percentage of dirty pages allowed in the InnoDB buffer pool.

--innodb-max-dirty-pages-pct=#

MariaDB Backup initializes its own embedded instance of InnoDB using the same configuration as defined in the configuration file. Using this option, you can define the maximum percentage of dirty, (that is, unwritten) pages that MariaDB Backup allows in the InnoDB buffer pool.

$ mariabackup --backup \
     --innodb-max-dirty-pages-pct=80

--innodb-open-files

Defines the number of files kept open at a time.

--innodb-open-files=#

MariaDB Backup initializes its own embedded instance of InnoDB using the same configuration as defined in the configuration file. Using this option, you can set the maximum number of files InnoDB keeps open at a given time during backups.

$ mariabackup --backup \
      --innodb-open-files=10

--innodb-page-size

Defines the universal page size.

--innodb-page-size=#

MariaDB Backup initializes its own embedded instance of InnoDB using the same configuration as defined in the configuration file. Using this option, you can define the universal page size in bytes for MariaDB Backup.

$ mariabackup --backup \
     --innodb-page-size=16k

--innodb-read-io-threads

Defines the number of background read I/O threads in InnoDB.

--innodb-read-io-threads=#

MariaDB Backup initializes its own embedded instance of InnoDB using the same configuration as defined in the configuration file. Using this option, you can set the number of I/O threads MariaDB uses when reading from InnoDB.

$ mariabackup --backup \
      --innodb-read-io-threads=4

--innodb-undo-directory

Defines the directory for the undo tablespace files.

--innodb-undo-directory=PATH

MariaDB Backup initializes its own embedded instance of InnoDB using the same configuration as defined in the configuration file. Using this option, you can define the path to the directory where you want MariaDB to store the undo tablespace on InnoDB tables. The path can be absolute.

$ mariabackup --backup \
     --innodb-undo-directory=/path/to/innodb_undo

--innodb-undo-tablespaces

Defines the number of undo tablespaces to use.

--innodb-undo-tablespaces=#

MariaDB Backup initializes its own embedded instance of InnoDB using the same configuration as defined in the configuration file. Using this option, you can define the number of undo tablespaces you want to use during the backup.

$ mariabackup --backup \
      --innodb-undo-tablespaces=10

--innodb-use-native-aio

Defines whether you want to use native AI/O.

MariaDB Backup initializes its own embedded instance of InnoDB using the same configuration as defined in the configuration file. Using this option, you can enable the use of the native asynchronous I/O subsystem. It is only available on Linux operating systems.

$ mariabackup --backup \
      --innodb-use-native-aio

--innodb-write-io-threads

Defines the number of background write I/O threads in InnoDB.

--innodb-write-io-threads=#

MariaDB Backup initializes its own embedded instance of InnoDB using the same configuration as defined in the configuration file. Using this option, you can set the number of background write I/O threads MariaDB Backup uses.

$ mariabackup --backup \
     --innodb-write-io-threads=4

--kill-long-queries-timeout

Defines the timeout for blocking queries.

--kill-long-queries-timeout=#

When MariaDB Backup runs, it issues a FLUSH TABLES WITH READ LOCK statement. It then identifies blocking queries. Using this option you can set a timeout in seconds for these blocking queries. When the time runs out, MariaDB Backup kills the queries.

The default value is 0, which causes MariaDB Backup to not attempt killing any queries.

$ mariabackup --backup \
      --kill-long-queries-timeout=10

--kill-long-query-type

Defines the query type the utility can kill to unblock the global lock.

--kill-long-query-type=ALL | UPDATE | SELECT

When MariaDB Backup encounters a query that sets a global lock, it can kill the query in order to free up MariaDB Server for the backup. Using this option, you can choose the types of query it kills: SELECT, UPDATE, or both set with ALL. The default is ALL.

$ mariabackup --backup \
      --kill-long-query-type=UPDATE

--lock-ddl-per-table

Lock DDL for each table before mariabackup starts to copy it and until the backup is completed.

--log

This option has no functionality. It is set to ensure compatibility with MySQL.

--log-bin

Defines the base name for the log sequence.

--log-bin[=name]

Using this option you, you can set the base name for MariaDB Backup to use in log sequences.

--log-copy-interval

Defines the copy interval between checks done by the log copying thread.

--log-copy-interval=#

Using this option, you can define the copy interval MariaDB Backup uses between checks done by the log copying thread. The given value is in milliseconds.

$ mariabackup --backup \
      --log-copy-interval=50

--move-back

Restores the backup to the data directory.

Using this command, MariaDB Backup moves the backup from the target directory to the data directory, as defined by the --datadir option. You must stop the MariaDB Server before running this command. The data directory must be empty. If you want to overwrite the data directory with the backup, use the --force-non-empty-directories option.

Bear in mind, before you can restore a backup, you first need to run MariaDB Backup with the --prepare option. In the case of full backups, this makes the files point-in-time consistent. With incremental backups, this applies the deltas to the base backup. Once the backup is prepared, you can run --move-back to apply it to MariaDB Server.

$ mariabackup --move-back \
      --datadir=/var/mysql

Running the --move-back command moves the backup files to the data directory. Use this command if you don't want to save the backup for later. If you do want to save the backup for later, use the --copy-back command.

--no-backup-locks

Defines whether the utility should not use backup locks.

MariaDB Backup locks the database when it runs. It normally uses backup locks. Using this option, you can disable backup locks so that it only uses the FLUSH TABLE WITH READ LOCKS statement. It has no effect when the server does not support this feature. Currently only Percona server supports backup-locks (Implemented trough LOCK TABLES FOR BACKUP).

$ mariabackup --backup --no-backup-locks

--no-lock

Disables table locks with the FLUSH TABLE WITH READ LOCK statement.

Using this option causes MariaDB Backup to disable table locks with the FLUSH TABLE WITH READ LOCK statement. Only use this if all tables you're backing up use InnoDB and you do not care about the binary log position of the backup. Don't use it while executing DDL statements or updates on non-InnoDB tables, (including the mysql database system tables, which are MyISAM), as this can lead to an inconsistent backup.

$ mariabackup --backup --no-lock

If you're considering --no-lock due to backups failing to acquire locks, this may be due to incoming replication events preventing the lock. Consider using the --safe-slave-backup option to momentarily stop the replication slave thread. This alternative may help the backup to succeed without resorting to --no-lock.

--no-version-check

Disables version check.

Using this option, you can disable MariaDB Backup version check. If you would like to enable the version check, use the --version-check option.

$ mariabackup --backup --no-version-check

--open-files-limit

Defines the maximum number of file descriptors.

--open-file-limit=#

Using this option, you can define the maximum number of file descriptors MariaDB Backup reserves with setrlimit().

$ mariabackup --backup \
      --open-file-limit=

--parallel

Defines the number of threads to use for parallel data file transfer.

--parallel=#

Using this option, you can set the number of threads MariaDB Backup uses for parallel data file transfers. By default, it is set to 1.

-p, --password

Defines the password to use to connect to MariaDB Server.

--password=passwd

When you run MariaDB Backup, it connects to MariaDB Server in order to access and back up the databases and tables. Using this option, you can set the password MariaDB Backup uses to access the server. To set the user, use the --user option.

$ mariabackup --backup \
      --user=root \
      --password=root_password

--plugin-dir

Defines the directory for server plugins.

--plugin-dir=PATH

Using this option, you can define the path MariaDB Backup reads for MariaDB Server plugins. It only uses it during the --prepare phase to load the encryption plugin. It defaults to the plugin_dir server system variable.

$ mariabackup --backup \
      --plugin-dir=/var/mysql/lib/plugin

--plugin-load

Defines the encryption plugins o load.

--plugin-load=name

Using this option, you can define the encryption plugin you want to load. It is only used during the --prepare phase to load the encryption plugin. It defaults to the server --plugin-load option.

-P, --port

Defines the server port to connect to.

--port=#

When you run MariaDB Backup, it connects to MariaDB Server in order to access and back up your databases and tables. Using this option, you can set the port the utility uses to access the server over TCP/IP. To set the host, see the --host option. Use mysql --help for more details.

$ mariabackup --backup \
      --host=192.168.11.1 \
      --port=3306

--prepare

Prepares an existing backup to restore to the MariaDB Server.

Files that MariaDB Backup generates during --backup operations in the target directory are not ready for use on the Server. Before you can restore the data to MariaDB, you first need to prepare the backup.

In the case of full backups, the files are not point in time consistent, since they were taken at different times. If you try to restore the database without first preparing the data, InnoDB rejects the new data as corrupt. Running MariaDB Backup with the --prepare command readies the data so you can restore it to MariaDB Server. When working with incremental backups, you need to use the --prepare command and the --incremental-dir option to update the base backup with the deltas from an incremental backup.

$ mariabackup --prepare

Once the backup is ready, you can use the --copy-back or the --move-back commands to restore the backup to the server.

--print-defaults

Prints the utility argument list, then exits.

Using this argument, MariaDB prints the argument list to stdout and then exits. You may find this useful in debugging to see how the options are set for the utility.

$ mariabackup --print-defaults

--print-param

Prints the MariaDB Server options needed for copyback.

Using this option, MariaDB Backup prints to stdout the MariaDB Server options that the utility requires to run the --copy-back command option.

$ mariabackup --print-param

--rsync

Defines whether to use rsync.

During normal operation, MariaDB Backup transfers local non-InnoDB files using a separate call to cp for each file. Using this option, you can optimize this process by performing this transfer with rsync, instead.

$ mariabackup --backup --rsync

This option is not compatible with the --stream option.

--safe-slave-backup

Stops slave SQL threads for backups.

When running MariaDB Backup on a server that uses replication, you may occasionally encounter locks that block backups. Using this option, it stops slave SQL threads and waits until the Slave_open_temp_tables in the SHOW STATUS statement is zero. If there are no open temporary tables, the backup runs, otherwise the SQL thread starts and stops until there are no open temporary tables.

$ mariabackup --backup \
      --safe-slave-backup \
      --safe-slave-backup-timeout=500

The backup fails if the Slave_open_temp_tables doesn't reach zero after the timeout period set by the --safe-slave-backup-timeout option.

--safe-slave-backup-timeout

Defines the timeout for slave backups.

--safe-slave-backup-timeout=#

When running MariaDB backup on a server that uses replication, you may occasionally encounter locks that block backups. With the --safe-slave-backup option, it waits until the Slave_open_temp_tables in the SHOW STATUS statement reaches zero. Using this option, you set how long it waits. It defaults to 300.

$ mariabackup --backup \
      --safe-slave-backup \
      --safe-slave-backup-timeout=500

--secure-auth

Refuses client connections to servers using the older protocol.

Using this option, you can set it explicitly to refuse client connections to the server when using the older protocol, from before 4.1.1. This feature is enabled by default. Use the --skip-secure-auth option to disable it.

$ mariabackup --backup --secure-auth

--skip-innodb-adaptive-hash-index

Disables InnoDB Adaptive Hash Index.

MariaDB Backup initializes its own embedded instance of InnoDB using the same configuration as defined in the configuration file. Using this option you can explicitly disable the InnoDB Adaptive Hash Index. This feature is enabled by default for MariaDB Backup. If you want to explicitly enable it, use --innodb-adaptive-hash-index.

$ mariabackup --backup \
      --skip-innodb-adaptive-hash-index

--skip-innodb-doublewrite

Disables doublewrites for InnoDB tables.

MariaDB Backup initializes its own embedded instance of InnoDB using the same configuration as defined in the configuration file. When doublewrites are enabled, InnoDB improves fault tolerance with a doublewrite buffer. By default this feature is turned on. Using this option you can disable it for MariaDB Backup. To explicitly enable doublewrites, use the --innodb-doublewrite option.

$ mariabackup --backup \
     --skip-innodb-doublewrite

--skip-innodb-log-checksums

Defines whether to exclude checksums in the InnoDB logs.

MariaDB Backup initializes its own embedded instance of InnoDB using the same configuration as defined in the configuration file. Using this option, you can set MariaDB Backup to exclude checksums in the InnoDB logs. The feature is enabled by default. To explicitly enable it, use the --innodb-log-checksums option.

--skip-secure-auth

Refuses client connections to servers using the older protocol.

Using this option, you can set it accept client connections to the server when using the older protocol, from before 4.1.1. By default, it refuses these connections. Use the --secure-auth option to explicitly enable it.

$ mariabackup --backup --skip-secure-auth

--slave-info

Prints the binary log position and the name of the master server.

Using this command option causes MariaDB Backup to print the binary log position and the name of the master server to stdout. You may find it useful when backing up replication slave servers.

It also writes this information to the xtrabackup_slave_info file as a CHANGE MASTER command. You can set up a new slave for this master by starting the slave server on this backup and issuing a CHANGE MASTER statement with the binary log position saved in this file.

$ mariabackup --slave-info

-S, --socket

Defines the socket for connecting to local database.

--socket=name

Using this option, you can define the UNIX domain socket you want to use when connecting to a local database server. The option accepts a string argument. For more information, see the mysql --help command.

$ mariabackup --backup \
      --socket=/var/mysql/mysql.sock

--stream

Streams backup files to stdout.

--stream=xbstream

Using this command option, you can set MariaDB Backup to stream the backup files to stdout in the given format. Currently, the supported format is xbstream.

$ mariabackup --stream=xbstream > backup.xb

To extract all files from the xbstream archive into a directory use the mbstream utility

$ mbstream  -x < backup.xb

--tables

Defines the tables you want to include in the backup.

--tables=REGEX

Using this option, you can define what tables you want MariaDB Backup to back up from the database. The table values are defined using Regular Expressions. To define the tables you want to exclude from the backup, see the --tables-exclude option.

$ mariabackup --backup \
     --databases=example
     --tables=nodes_* \
     --tables-exclude=nodes_tmp

--tables-exclude

Defines the tables you want to exclude from the backup.

--tables-exclude=REGEX

Using this option, you can define what tables you want MariaDB Backup to exclude from the backup. The table values are defined using Regular Expressions. To define the tables you want to include from the backup, see the --tables option.

$ mariabackup --backup \
     --databases=example
     --tables=nodes_* \
     --tables-exclude=nodes_tmp

--tables-file

Defines path to file with tables for backups.

--tables-file=/path/to/file

Using this option, you can set a path to a file listing the tables you want to back up. MariaDB Backup iterates over each line in the file. The format is database.table.

$ mariabackup --backup \
     --databases=example \
     --tables-file=/etc/mysql/backup-file

--target-dir

Defines the destination directory.

--target-dir=/path/to/target

Using this option you can define the destination directory for the backup. MariaDB Backup writes all backup files to this directory. mariabackup will create the directory, if it does not exist (but it will not create the full path recursively, i.e at least parent directory if the --target-dir must exist=

$ mariabackup --backup \
       --target-dir=/data/backups

--throttle

Defines the limit for I/O operations per second in IOS values.

--throttle=#

Using this option, you can set a limit on the I/O operations MariaDB Backup performs per second in IOS values. It is only used during the --backup command option.

-t, --tmpdir

Defines path for temporary files.

--tmpdir=/path/tmp[;/path/tmp...]

Using this option, you can define the path to a directory MariaDB Backup uses in writing temporary files. If you want to use more than one, separate the values by a semicolon (that is, ;). When passing multiple temporary directories, it cycles through them using round-robin.

$ mariabackup --backup \
     --tmpdir=/data/tmp;/tmp

--use-memory

Defines the buffer pool size.

--use-memory=124M

Using this option, you can define the buffer pool size for MariaDB Backup. Use it instead of buffer_pool_size.

$ mariabackup --backup \
      --use-memory=124M

--user

Defines the username for connecting to the MariaDB Server.

--user=name
-u name

When MariaDB Backup runs it connects to the specified MariaDB Server to get its backups. Using this option, you can define the database user uses for authentication.

$ mariabackup --backup \
      --user=root \
      --password=root_passwd

--version

Prints version information.

Using this option, you can print the MariaDB Backup version information to stdout.

$ mariabackup --version

--version-check

Enables version check.

Using this option, you can enable MariaDB Backup version check. If you would like to disable the version check, use the --no-version-check option.

$ mariabackup --backup --version-check

Comments

Comments loading...
Content reproduced on this site is the property of its respective owners, and this content is not reviewed in advance by MariaDB. The views, information and opinions expressed by this content do not necessarily represent those of MariaDB or any other party.