xtrabackup参数详解
[root@lzl soft]# xtrabackup --helpxtrabackup: recognized server arguments: --datadir=/data/mysql--xtrabackup识别到server的参数datadir为/data/mysql,为备份数据库数据做准备xtrabackup version 8.0.13 based on MySQL server 8
[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文件,与mysqldump,mysqlpump差不多
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 log时check的间隔时间(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 –xtrabackup的plug目录
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.
更多推荐
所有评论(0)