本文采用原始的rpm安装方式
基础环境:CentOS 7.5
Mysql:5.6
Percona-XtraBackup版本:2.4.11
下载的是Percona-XtraBackup-2.4.11-rb4e0db5-el7-x86_64-bundle.tar安装包。在安装之前最好安装一些其他额外组件,例如perl-DBD-MySQL等。否则你会遇到很多缺少安包问题。例如如下:
libev.so.4()(64bit) is needed by percona-xtrabackup-24-2.4.11-1.el7.x86_64
perl(DBD::mysql) is needed by percona-xtrabackup-24-2.4.11-1.el7.x86_64
perl(Digest::MD5) is needed by percona-xtrabackup-24-2.4.11-1.el7.x86_64
rsync is needed by percona-xtrabackup-24-2.4.11-1.el7.x86_64
1、下载XtraBackup工具包并上传到服务器中解压安装文件
[root@tslave tools]# tar -xvf Percona-XtraBackup-2.4.11-rb4e0db5-el7-x86_64-bundle.tar
percona-xtrabackup-24-2.4.11-1.el7.x86_64.rpm --主程序安装包
percona-xtrabackup-24-debuginfo-2.4.11-1.el7.x86_64.rpm
percona-xtrabackup-test-24-2.4.11-1.el7.x86_64.rpm
[root@tslave tools]# ll
total 477968
-rw-r--r-- 1 root root 54051733 Jul 6 16:50 grafana-5.2.1-1.x86_64.rpm
-rw-r--r--. 1 mysql mysql 314581668 Jul 3 10:45 mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz
-rw-r--r-- 1 root root 60364800 Jul 30 10:08 Percona-XtraBackup-2.4.11-rb4e0db5-el7-x86_64-bundle.tar
-rw-rw-r-- 1 root root 7827348 Apr 19 01:11 percona-xtrabackup-24-2.4.11-1.el7.x86_64.rpm
-rw-rw-r-- 1 root root 38885152 Apr 19 01:11 percona-xtrabackup-24-debuginfo-2.4.11-1.el7.x86_64.rpm
-rw-rw-r-- 1 root root 13648404 Apr 19 01:11 percona-xtrabackup-test-24-2.4.11-1.el7.x86_64.rpm
-rw-r--r-- 1 root root 28960 Jul 6 11:39 percona-zabbix-templates-1.1.8-1.noarch.rpm
drwxr-xr-x 2 root root 107 Sep 30 2009 sendEmail-v1.56
-rw-r--r-- 1 root root 29740 Sep 30 2009 sendEmail-v1.56.tar.gz
drwxr-xr-x. 4 zabbix zabbix 88 Jul 5 13:42 zabbix
2、安装XtraBackup程序包,提示缺少各种依赖包
[root@tslave tools]# rpm -ivh percona-xtrabackup-24-2.4.11-1.el7.x86_64.rpm
warning: percona-xtrabackup-24-2.4.11-1.el7.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID cd2efd2a: NOKEY
error: Failed dependencies:
libev.so.4()(64bit) is needed by percona-xtrabackup-24-2.4.11-1.el7.x86_64
perl(DBD::mysql) is needed by percona-xtrabackup-24-2.4.11-1.el7.x86_64
perl(Digest::MD5) is needed by percona-xtrabackup-24-2.4.11-1.el7.x86_64
rsync is needed by percona-xtrabackup-24-2.4.11-1.el7.x86_64
3、安装缺少的依赖包
[root@tslave tools]# yum install cmake gcc gcc-c++ libaio libaio-devel automake autoconf bzr
[root@tslave tools]# yum -y install perl perl-devel libaio libaio-devel perl-Time-HiRes perl-DBD-MySQL perl-Digest-MD5
4、再次安装XtraBackup时还提示缺少libev.so.4()依赖包,此包需要单独安装即可
[root@tslave tools]# rpm -ivh percona-xtrabackup-24-2.4.11-1.el7.x86_64.rpm
warning: percona-xtrabackup-24-2.4.11-1.el7.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID cd2efd2a: NOKEY
error: Failed dependencies:
XtraBackup(64bit) is needed by percona-xtrabackup-24-2.4.11-1.el7.x86_64
报 libev.so.4()错误的话,需要从网上单独下载安装包安装,本环境安装版本: libev-4.15-7.el7.x86_64.rpm
5、安装 libev-4.15-7.el7.x86_64.rpm
[root@tslave tools]# rpm -ivh libev-4.15-7.el7.x86_64.rpm
Preparing... ################################# [100%]
Updating / installing...
1:libev-4.15-7.el7 ################################# [100%]
6、安装xtrabackup工具,提示可以安装正常成功
[root@tslave tools]# rpm -ivh percona-xtrabackup-24-2.4.11-1.el7.x86_64.rpm
warning: percona-xtrabackup-24-2.4.11-1.el7.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID cd2efd2a: NOKEY
Preparing... ################################# [100%]
Updating / installing...
1:percona-xtrabackup-24-2.4.11-1.el################################# [100%]
7、验证xtrabackup安装是否成功,输入xtrabackup命令后,会正常返回各种参数说明,则说明安装已成功
[root@tslave tools]# xtrabackup --输入xtrabackup可以正常有结果输出,则说明安装成功了
xtrabackup version 2.4.11 based on MySQL server 5.7.19 Linux (x86_64) (revision id: b4e0db5)
Open source backup tool for InnoDB and XtraDB
Copyright (C) 2009-2017 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.
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
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.
--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.
--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.
--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.
--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
second to IOS values (for '--backup')
--log[=name] Ignored option for MySQL option compatibility
--log-copy-interval=#
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
(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. Currently the only supported
algorithm is 'quicklz'. It is also the default algorithm,
i.e. the one used when --compress is used without an
argument.
--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.
--compact Create a compact backup by skipping secondary index
pages.
--rebuild-indexes Rebuild secondary indexes in InnoDB tables after applying
the log. Only has effect with --prepare.
--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
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
backup directory to their original locations.
--move-back Move all the files in a previously made backup from the
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
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
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
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.
--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.
--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.
--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
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)
--binlog-info[=name]
This option controls how XtraBackup should retrieve
server's binary log coordinates corresponding to the
backup. Possible values are OFF, ON, LOCKLESS and AUTO.
See the XtraBackup manual for more information
--reencrypt-for-server-id=#
Re-encrypt tablespace keys for given server-id.
--check-privileges Check database user privileges before performing any
query.
--read-buffer-size[=#]
Set datafile read buffer size, given value is scaled up
to page size. Default is 10Mb.
--ssl-mode=name SSL connection mode.
--ssl Deprecated. Use --ssl-mode instead.
(Defaults to on; use --skip-ssl to disable.)
--ssl-verify-server-cert
Deprecated. Use --ssl-mode=VERIFY_IDENTITY instead.
--ssl-ca=name CA file in PEM format.
--ssl-capath=name CA directory.
--ssl-cert=name X509 cert in PEM format.
--ssl-cipher=name SSL cipher to use.
--ssl-key=name X509 key in PEM format.
--ssl-crl=name Certificate revocation list.
--ssl-crlpath=name Certificate revocation list path.
--tls-version=name TLS version to use, permitted values are: TLSv1, TLSv1.1,
TLSv1.2
--server-public-key-path=name
File path to the server public RSA key in PEM format.
-h, --datadir=name Path to the database root.
-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.
--parallel=# Number of threads to use for parallel datafiles transfer.
The default value is 1.
--log[=name] Ignored option for MySQL option compatibility
--log-bin[=name] Base name for the log sequence
--innodb[=name] Ignored option for MySQL option compatibility
--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.
(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-doublewrite
Enable InnoDB doublewrite buffer (enabled by default).
Disable with --skip-innodb-doublewrite.
(Defaults to on; use --skip-innodb-doublewrite to disable.)
--innodb-io-capacity[=#]
Number of IOPs the server can do. Tunes the background IO
rate
--innodb-file-io-threads=#
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
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-arch-dir=name
Where full logs should be archived.
--innodb-log-buffer-size=#
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
Use native AIO if supported on this platform.
--innodb-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-fast-checksum
Change the algorithm of checksum for the whole of
datapage to 4-bytes word based.
--innodb-doublewrite-file=name
Path to special datafile for doublewrite buffer. (default
is : not used)
--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-checksum-algorithm=name
The algorithm InnoDB uses for log checksumming. [CRC32,
STRICT_CRC32, INNODB, STRICT_INNODB, NONE, STRICT_NONE]
--innodb-undo-directory=name
Directory where undo tablespace files live, this path can
be absolute.
--innodb-undo-tablespaces=#
Number of undo tablespaces to use.
--defaults-group=name
defaults group in config file (default "mysqld").
--open-files-limit=#
the maximum number of file descriptors to reserve with
setrlimit().
--redo-log-version=#
Redo log version of the backup. For --prepare only.
--server-id=# The server instance being backed up
--transition-key[=name]
Transition key to encrypt tablespace keys with.
--xtrabackup-plugin-dir=name
Directory for xtrabackup plugins.
--generate-new-master-key
Generate new master key when doing copy-back.
--generate-transition-key
Generate transition key and store it into keyring.
到此xtrabackup已经通过RPM方式安装成功了,安装xtrabackup还可以其它的几种安装方法,具体的可以参考:
https://blog.csdn.net/u010735147/article/details/81281020
接下来可以通过xtrabackup和恢复msyql数据库了