xtrabackup参数详解

[root@lzl soft]# xtrabackup --help

xtrabackup: recognized server arguments: --datadir=/data/mysql    --xtrabackup识别到server的参数datadir/data/mysql,为备份数据库数据做准备

xtrabackup version 8.0.13 based on MySQL server 8.0.20 Linux (x86_64) (revision id: fdf0f4c)

Open source backup tool for InnoDB and XtraDB  --xtrabackup支持mysql8.0了,我的5.7应该支持吧

 

Copyright (C) 2009-2019 Percona LLC and/or its affiliates.

Portions Copyright (C) 2000, 2011, MySQL AB & Innobase Oy. All Rights Reserved.

 

This program is free software; you can redistribute it and/or

modify it under the terms of the GNU General Public License

as published by the Free Software Foundation version 2

of the License.    –xtrabackup免费,可以二次开发

 

This program is distributed in the hope that it will be useful,

but WITHOUT ANY WARRANTY; without even the implied warranty of

MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the

GNU General Public License for more details.

 

You can download full text of the license on http://www.gnu.org/licenses/gpl-2.0.txt

 

Usage: [xtrabackup [--defaults-file=#] --backup | xtrabackup [--defaults-file=#] --prepare] [OPTIONS]

 

Default options are read from the following files in the given order:

/etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~/.my.cnf    --默认配置还是读my.cnf文件,与mysqldumpmysqlpump差不多

The following groups are read: xtrabackup mysqld

The following options may be given as the first argument:

--print-defaults       Print the program argument list and exit.  打印默认配置,就是my.cnf中的配置

--no-defaults          Don't read default options from any option file,  --不读取配置文件,出了登陆文件

                        except for login file.

--defaults-file=#      Only read default options from the given file #.  指定默认配置文件

--defaults-extra-file=# Read this file after the global files are read.  除了my.cnf外,额外读取的配置文件

--defaults-group-suffix=#

                       Also read groups with concat(group, suffix)  --

--login-path=#         Read this path from the login file.  --

  -v, --version       print xtrabackup version information  --打印软件版本

 --target-dir=name   destination directory  --备份地址,备份到哪

  --backup            take backup to target-dir  --备份任务

  --stats             calc statistic of datadir (offline mysqld is recommended)  --输出统计信息

  --prepare           prepare a backup for starting mysql server on the backup.  在启动mysql服务时准备一个备份

  --export            create files to import to another database when prepare.  --

 --apply-log-only    stop recovery process not to progress LSN after applying

                     log when prepare.  --prepare是啥意思

  --print-param       print parameter of mysqld needed for copyback.  –打印参数

  --use-memory=#      The value is used instead of buffer_pool_size

  --throttle=#        limit count of IO operations (pairs of read&write) per  --限制IO,不错,还有限制IO功能

                     second to IOS values (for '--backup')

  --log[=name]        Ignored option for MySQL option compatibility  --?感觉像指定log

 --log-copy-interval=#  --copy logcheck的间隔时间(ms),默认1s

                      time interval between checks done by log copying thread

                     in milliseconds (default is 1 second).

  --extra-lsndir=name (for --backup): save an extra copy of the

                     xtrabackup_checkpoints file in this directory.

  --incremental-lsn=name    --基于lsn的增量备份

                     (for --backup): copy only .ibd pages newer than specified

                     LSN 'high:low'. ##ATTENTION##: If a wrong LSN value is

                     specified, it is impossible to diagnose this, causing the

                     backup to be unusable. Be careful!

 --incremental-basedir=name 

                     (for --backup): copy only .ibd pages newer than backup at

                     specified directory.

 --incremental-dir=name 

                     (for --prepare): apply .delta files and logfile in the

                     specified directory.

  --to-archived-lsn=# Don't apply archived logs with bigger log sequence

                     number.

  --tables=name       filtering by regexp for table names.  –可以选择哪些表

 --tables-file=name  filtering by list of the exact database.table name in the

                     file.

 --databases=name    filtering by list of databases.  –可以选择哪些数据库

 --databases-file=name 

                      filtering by list of databases in the file.

 --tables-exclude=name 

                     filtering by regexp for table names. Operates the same

                     way as --tables, but matched names are excluded from

                     backup. Note that this option has a higher priority than

                     --tables.

 --databases-exclude=name 

                     Excluding databases based on name, Operates the same way

                     as --databases, but matched names are excluded from

                     backup. Note that this option has a higher priority than

                     --databases.

  --create-ib-logfile ** not work for now** creates ib_logfile* also after

                     '--prepare'. ### If you want create ib_logfile*, only

                     re-execute this command in same options. ###

  --stream=name       Stream all backup files to the standard output in the

                     specified format. Currently the only supported format is

                      'tar'.

 --compress[=name]   Compress individual backup files using the specified --支持压缩

                     compression algorithm. Supported algorithms are 'quicklz'

                     and 'lz4'. The default algorithm is 'quicklz'.

  --compress-threads=#

                     Number of threads for parallel data compression. The

                     default value is 1.

 --compress-chunk-size=# 

                      Size of working buffer(s) for compression threads in

                     bytes. The default value is 64K.

  --encrypt=name      Encrypt individual backup files using the specified   --支持备份加密

                     encryption algorithm.

 --encrypt-key=name  Encryption key to use.

 --encrypt-key-file=name 

                     File which contains encryption key to use.

  --encrypt-threads=# Number of threads for parallel data encryption. The

                     default value is 1.

 --encrypt-chunk-size=# 

                      Size of working buffer(S) for encryption threads in

                     bytes. The default value is 64K.

  --rebuild-threads=# Use this number of threads to rebuild indexes in a  --在选择重建索引时,指定重建索引的并行度

                     compact backup. Only has effect with --prepare and

                     --rebuild-indexes.

 --incremental-force-scan    --增量备份时强制全扫pages,即时有变更pages数据存储在bitmap中,这是xtraDB存储引擎才有的功能

                     Perform a full-scan incremental backup even in the

                     presence of changed page bitmap data

  --close-files       do not keep files opened. Use at your own risk.

  --core-file         Write core on fatal signals

  --copy-back         Copy all the files in a previously made backup from the   --copy backup

                     backup directory to their original locations.

  --move-back         Move all the files in a previously made backup from the  --move backup

                     backup directory to the actual datadir location. Use with

                     caution, as it removes backup files.

  --galera-info       This options creates the xtrabackup_galera_info file

                     which contains the local node state at the time of the

                     backup. Option should be used when performing the backup

                     of Percona-XtraDB-Cluster. Has no effect when backup

                     locks are used to create the backup.

  --slave-info        This option is useful when backing up a replication slave  --备份slave时有用

                     server. It prints the binary log position and name of the

                     master server. It also writes this information to the

                     "xtrabackup_slave_info" file as a "CHANGE MASTER"

                     command. A new slave for this master can be set up by

                      starting a slave server on this backup and issuing a

                     "CHANGE MASTER" command with the binary log position

                     saved in the "xtrabackup_slave_info" file.

  --no-lock           Use this option to disable table lock with "FLUSH TABLES   --执行备份时不加锁,需要确保备份的数据都是innodb引擎,且在备份过程中不能有ddl语句。不然备份出来的数据可能跟源库不一致。如果备库阻止lock table,可以用--safe-slave-backup

                     WITH READ LOCK". Use it only if ALL your tables are

                     InnoDB and you DO NOT CARE about the binary log position

                     of the backup. This option shouldn't be used if there are

                      any DDL statements being executed or if any updates are

                     happening on non-InnoDB tables (this includes the system

                     MyISAM tables in the mysql database), otherwise it could

                     lead to an inconsistent backup. If you are considering to

                     use --no-lock because your backups are failing to acquire

                     the lock, this could be because of incoming replication

                     events preventing the lock from succeeding. Please try

                     using --safe-slave-backup to momentarily stop the

                     replication slave thread, this may help the backup to

                     succeed and you then don't need to resort to using this

                     option.

  --lock-ddl          Issue LOCK TABLES FOR BACKUP if it is supported by server  --lock所有ddl操作

                     at the beginning of the backup to block all DDL

                     operations.

  --lock-ddl-timeout=#

                     If LOCK TABLES FOR BACKUP does not return within given

                     timeout, abort the backup.

  --lock-ddl-per-table

                     Lock DDL for each table before xtrabackup starts to copy

                      it and until the backup is completed.

 --backup-lock-timeout=#    --lock超时限制

                     Timeout in seconds for attempts to acquire metadata

                     locks.

 --backup-lock-retry-count=# --尝试获取元数据lock的次数

                     Number of attempts to acquire metadata locks.

 --dump-innodb-buffer-pool –dump buffer pool

                     Instruct MySQL server to dump innodb buffer pool by

                     issuing a SET GLOBAL innodb_buffer_pool_dump_now=ON 

 --dump-innodb-buffer-pool-timeout=# 

                      This option specifies the number of seconds xtrabackup

                     waits for innodb buffer pool dump to complete

 --dump-innodb-buffer-pool-pct=# 

                     This option specifies the percentage of buffer pool to be

                      dumped 

  --safe-slave-backup Stop slave SQL thread and wait to start backup until

                     Slave_open_temp_tables in "SHOW STATUS" is zero. If there

                     are no open temporary tables, the backup will take place,

                     otherwise the SQL thread will be started and stopped

                     until there are no open temporary tables. The backup will

                     fail if Slave_open_temp_tables does not become zero after

                     --safe-slave-backup-timeout seconds. The slave SQL thread

                     will be restarted when the backup finishes.

  --rsync             Uses the rsync utility to optimize local file transfers. –在元数据数量较多时,可以加快备份元数据的速度

                     When this option is specified, innobackupex uses rsync to

                     copy all non-InnoDB files instead of spawning a separate

                     cp for each file, which can be much faster for servers

                     with a large number of databases or tables.  This option

                     cannot be used together with --stream.

 --force-non-empty-directories 

                     This option, when specified, makes --copy-back or

                     --move-back transfer files to non-empty directories. Note

                     that no existing files will be overwritten. If

                     --copy-back or --nove-back has to copy a file from the

                      backup directory which already exists in the destination

                     directory, it will still fail with an error.

 --no-version-check  This option disables the version check which is enabled

                     by the --version-check option.  不检测version,在备份开始之前会check version,使用该选项可以check

 --tables-compatibility-check  -- compatibility检查,默认on--skip-tables-compatibility-check关闭

                     This option enables engine compatibility warning.

                     (Defaults to on; use --skip-tables-compatibility-check to disable.)

 --no-backup-locks   This option controls if backup locks should be used

                     instead of FLUSH TABLES WITH READ LOCK on the backup

                     stage. The option has no effect when backup locks are not

                     supported by the server. This option is enabled by

                      default, disable with --no-backup-locks.

 --rollback-prepared-trx  --回滚prepare阶段的事务

                     Force rollback prepared InnoDB transactions.

  --decompress        Decompresses all files with the .qp extension in a backup

                     previously made with the --compress option.  –解压之前的备份

  -u, --user=name     This option specifies the MySQL username used when

                     connecting to the server, if that's not the current user.

                     The option accepts a string argument. See mysql --help

                     for details.

  -H, --host=name     This option specifies the host to use when connecting to

                     the database server with TCP/IP. The option accepts a

                     string argument. See mysql --help for details.

  -P, --port=#        This option specifies the port to use when connecting to

                     the database server with TCP/IP. The option accepts a

                     string argument. See mysql --help for details.

  -p, --password[=name] 

                     This option specifies the password to use when connecting

                     to the database. It accepts a string argument.  See mysql

                     --help for details.

  -S, --socket=name   This option specifies the socket to use when connecting

                     to the local database server with a UNIX domain socket. 

                     The option accepts a string argument. See mysql --help

                     for details.

  --incremental-history-name=name – incremental-history应该在xtraDB引擎上有用

                     This option specifies the name of the backup series

                     stored in the PERCONA_SCHEMA.xtrabackup_history history

                     record to base an incremental backup on. Xtrabackup will

                     search the history table looking for the most recent

                     (highest innodb_to_lsn), successful backup in the series

                     and take the to_lsn value to use as the starting lsn for

                      the incremental backup. This will be mutually exclusive

                     with --incremental-history-uuid, --incremental-basedir

                     and --incremental-lsn. If no valid lsn can be found (no

                     series by that name, no successful backups by that name)

                     xtrabackup will return with an error. It is used with the

                     --incremental option.

 --incremental-history-uuid=name 

                      This option specifies the UUID of the specific history

                     record stored in the PERCONA_SCHEMA.xtrabackup_history to

                     base an incremental backup on.

                     --incremental-history-name, --incremental-basedir and

                     --incremental-lsn. If no valid lsn can be found (no

                     success record with that uuid) xtrabackup will return

                     with an error. It is used with the --incremental option.

  --decrypt=name      Decrypts all files with the .xbcrypt extension in a

                     backup previously made with --encrypt option.  解密之前的加密备份文件

 --remove-original   Remove .qp and .xbcrypt files after decryption and

                     decompression.

  --ftwrl-wait-query-type=name

                     This option specifies which types of queries are allowed

                     to complete before innobackupex will issue the global

                     lock. Default is all.

 --kill-long-query-type=name 

                      This option specifies which types of queries should be

                     killed to unblock the global lock. Default is "all".

 --history[=name]    This option enables the tracking of backup history in the

                     PERCONA_SCHEMA.xtrabackup_history table. An optional

                     history series name may be specified that will be placed

                     with the history record for the current backup being

                     taken.

 --kill-long-queries-timeout=# 

                      This option specifies the number of seconds innobackupex

                     waits between starting FLUSH TABLES WITH READ LOCK and

                     killing those queries that block it. Default is 0

                     seconds, which means innobackupex will not attempt to

                     kill any queries.

 --ftwrl-wait-timeout=# 

                     This option specifies time in seconds that innobackupex

                     should wait for queries that would block FTWRL before

                     running it. If there are still such queries when the

                     timeout expires, innobackupex terminates with an error.

                     Default is 0, in which case innobackupex does not wait

                     for queries to complete and starts FTWRL immediately.

 --ftwrl-wait-threshold=# 

                     This option specifies the query run time threshold which

                     is used by innobackupex to detect long-running queries

                     with a non-zero value of --ftwrl-wait-timeout. FTWRL is

                     not started until such long-running queries exist. This

                      option has no effect if --ftwrl-wait-timeout is 0.

                     Default value is 60 seconds.

 --debug-sleep-before-unlock=# 

                     This is a debug-only option used by the XtraBackup test

                     suite.

  --safe-slave-backup-timeout=#

                     How many seconds --safe-slave-backup should wait for

                     Slave_open_temp_tables to become zero. (default 300)

 --check-privileges  Check database user privileges before performing any

                     query.

 --read-buffer-size[=#]   --读取datafile的buffer大小,需要大于pages大小,默认10mb

                     Set datafile read buffer size, given value is scaled up

                     to page size. Default is 10Mb.

 --server-public-key-path=name 

                     File path to the server public RSA key in PEM format.

 --get-server-public-key 

                     Get server public key

 --server-public-key-path=name 

                     File path to the server public RSA key in PEM format.

 --transition-key[=name] 

                     Transition key to encrypt tablespace keys with.

 --xtrabackup-plugin-dir=name –xtrabackupplug目录

                     Directory for xtrabackup plugins.

 --plugin-load=name  List of plugins to load.

 --generate-new-master-key 

                     Generate new master key when doing copy-back.

 --generate-transition-key 

                     Generate transition key and store it into keyring.

  --parallel=#        Number of threads to use for parallel datafiles transfer.  备份的并行度?

                      The default value is 1.

  --strict            Fail with error when invalid arguments were passed to the

                     xtrabackup.

 --rocksdb-checkpoint-max-age=# 

                     Maximum ROCKSB checkpoint age in seconds.

 --rocksdb-checkpoint-max-count=# 

                     Maximum count of ROCKSB checkpoints.

  -h, --datadir=name  Path to the database root.  –datadir路径,一般用—defaults-files

  -t, --tmpdir=name   Path for temporary files. Several paths may be specified,

                     separated by a colon (:), in this case they are used in a

                     round-robin fashion.

  --log[=name]        Ignored option for MySQL option compatibility  --

 --log-bin[=name]    Base name for the log sequence --一般用—defaults-files

  --log-bin-index=name

                     File that holds the names for binary log files.

  --innodb[=name]     Ignored option for MySQL option compatibility

 --innodb-adaptive-hash-index   --开启自适应索引,--skip-innodb-adaptive-hash-index关闭

                     Enable InnoDB adaptive hash index (enabled by default). 

                     Disable with --skip-innodb-adaptive-hash-index.

                     (Defaults to on; use --skip-innodb-adaptive-hash-index to disable.)

 --innodb-autoextend-increment=# 

                     Data file autoextend increment in megabytes

 --innodb-buffer-pool-size=# 

                     The size of the memory buffer InnoDB uses to cache data

                     and indexes of its tables.

 --innodb-checksums  Enable InnoDB checksums validation (enabled by default).

                     Disable with --skip-innodb-checksums. --checksum

                     (Defaults to on; use --skip-innodb-checksums to disable.)

 --innodb-data-file-path=name 

                     Path to individual files and their sizes.

  --innodb-data-home-dir=name

                     The common part for InnoDB table spaces.

 --innodb-io-capacity[=#] 

                     Number of IOPs the server can do. Tunes the background IO

                     rate

 --innodb-file-io-threads=#   --innoDB io进程数

                      Number of file I/O threads in InnoDB.

 --innodb-read-io-threads=# 

                     Number of background read I/O threads in InnoDB.

 --innodb-write-io-threads=# 

                     Number of background write I/O threads in InnoDB.

  --innodb-file-per-table --每个表一个.IBD

                     Stores each InnoDB table to an .ibd file in the database

                     dir.

 --innodb-flush-log-at-trx-commit[=#] 

                     Set to 0 (write and flush once per second), 1 (write and

                     flush at each commit) or 2 (write at commit, flush once

                     per second).

 --innodb-flush-method=name 

                     With which method to flush data.

 --innodb-force-recovery=#  --强制恢复

                     Helps to save your data in case the disk image of the

                     database becomes corrupt.

 --innodb-log-buffer-size=#   --log文件设置

                     The size of the buffer which InnoDB uses to write log to

                     the log files on disk.

 --innodb-log-file-size=# 

                     Size of each log file in a log group.

 --innodb-log-files-in-group=# 

                     Number of log files in the log group. InnoDB writes to

                     the files in a circular fashion. Value 3 is recommended

                     here.

 --innodb-log-group-home-dir=name 

                     Path to InnoDB log files.

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

                      Percentage of dirty pages allowed in bufferpool.

 --innodb-open-files=# 

                     How many files at the maximum InnoDB keeps open at the

                     same time.

 --innodb-use-native-aio 使用aio

                     Use native AIO if supported on this platform.

  --innodb-page-size=# --page size,恢复时可以?

                     The universal page size of the database.

 --innodb-log-block-size=# 

                     The log block size of the transaction log file. Changing

                     for created log file is not supported. Use on your own

                     risk!

 --innodb-buffer-pool-filename=name 

                     Filename to/from which to dump/load the InnoDB buffer

                     pool

 --debug-sync=name   Debug sync point. This is only used by the xtrabackup

                     test suite

 --innodb-checksum-algorithm=name 

                     The algorithm InnoDB uses for page checksumming. [CRC32,

                     STRICT_CRC32, INNODB, STRICT_INNODB, NONE, STRICT_NONE]

 --innodb-log-checksums 

                     Whether to compute and require checksums for InnoDB redo

                     log blocks

                      (Defaults to on; use --skip-innodb-log-checksums to disable.)

 --innodb-undo-directory=name 

                     Directory where undo tablespace files live, this path can

                     be absolute.

 --innodb-directories=name 

                     List of directories 'dir1;dir2;..;dirN' to scan for

                     tablespace files. Default is to scan

                     'innodb-data-home-dir;innodb-undo-directory;datadir'

 --temp-tablespaces-dir=name 

                      Directory where temp tablespace files live, this path can

                     be absolute.

 --innodb-undo-tablespaces=# 

                     Number of undo tablespaces to use.

 --innodb-redo-log-encrypt 

                     Enable or disable Encryption of REDO tablespace.

 --innodb-undo-log-encrypt 

                     Enable or disable Encrypt of UNDO tablespace.

 --defaults-group=name 

                     defaults group in config file (default "mysqld").

  --open-files-limit=#

                     the maximum number of file descriptors to reserve with

                     setrlimit().

  --server-id=#       The server instance being backed up

 --rocksdb-datadir=name 

                     RocksDB data directory

 --rocksdb-wal-dir=name 

                     RocksDB WAL directory

 

Variables (--variable-name=value)

 

 

 

[root@lzl soft]# xtrabackup -version

xtrabackup: recognized server arguments: --datadir=/data/mysql 

xtrabackup version 8.0.13 based on MySQL server 8.0.20 Linux (x86_64) (revision id: fdf0f4c)

 

 

总结几个重要的参数

 --incremental-lsn=name    --基于lsn的增量备份

  --tables=name         –可以选择哪些表

 --databases=name    .  –可以选择哪些数据库

 --compress[=name]   --支持压缩

  --encrypt=name         --支持备份加密

  --rebuild-threads=#    --在选择重建索引时,指定重建索引的并行度

  --no-lock            --执行备份时不加锁,需要确保备份的数据都是innodb引擎,且在备份过程中不能有ddl语句。不然备份出来的数据可能跟源库不一致。

--safe-slave-backup 如果备库阻止lock table,可以用--safe-slave-backup,备份备库时有用

  --lock-ddl          --lock所有ddl操作

  --rsync             –在元数据数量较多时,可以加快备份元数据的速度

  --parallel=#       备份的并行度,  The default value is 1.

猜你喜欢

转载自blog.csdn.net/qq_40687433/article/details/108001154