你好,游客 登录 注册 搜索
背景:
阅读新闻

Percona XtraBackup 安装介绍篇

[日期:2017-07-13] 来源:www.cnblogs.com/kerrycode  作者:潇湘隐者 [字体: ]

XtraBackup介绍

XtraBackup是Percona公司的开源项目,用以实现类似Innodb官方的热备份工具InnoDB Hot Backup的功能,它支持在线热备份(备份时不影响数据读写)。到目前为止,最新的版本为Percona XtraBackup 2.4.7.

XtraBackup有很多功能和优点:例如支持全备、增量备份、部分备份;支持压缩备份;备份不影响数据读写、事务等,但是也有缺陷不足:例如不支持脱机备份、不支持直接备份到磁带设备、不支持Cloud Back,MyISAM的备份也会阻塞。不过这些小瑕疵不影响XtraBackup成为一款流行的MySQL备份工具。另外,请注意XtraBackup只支持Linux平台,不支持Windows平台。

下面是XtraBackup的官方文档的介绍资料:

Percona XtraBackup is the worlds only open-source, free MySQL hot backup software that performs non-blocking

backups for InnoDB and XtraDB databases. With Percona XtraBackup, you can achieve the following benefits:

• Backups that complete quickly and reliably

• Uninterrupted transaction processing during backups

• Savings on disk space and network bandwidth

• Automatic backup verification

• Higher uptime due to faster restore time

Percona XtraBackup makes MySQL hot backups for all versions of Percona Server, MySQL, and MariaDB. It performs

streaming, compressed, and incremental MySQL backups.

Percona XtraBackup works with MySQL, MariaDB, and Percona Server. It supports completely non-blocking backups

of InnoDB, XtraDB, and HailDB storage engines. In addition, it can back up the following storage engines by briefly

pausing writes at the end of the backup: MyISAM, Merge, and Archive, including partitioned tables, triggers, and

database options.

Percona  XtraBackup的特征:

 

Features

Percona  XtraBackup

License

GPL

Pirce

Free

Streaming and encryption formats

Open source

Supported MySQL flavors

MySQL, Percona Server, MariaDB, Percona XtraDB Cluster, MariaDB Supported

Supported operating systems

Linux

Non-blocking InnoDB backups

Yes

Blocking MyISAM backups

Yes

Incremental backups

Yes

Full compressed backups

Yes

Incremental compressed backups

Yes

Fast incremental backups

Yes

Incremental backups with archived logs feature in Percona Server

Yes

Incremental backups with REDO log only

 

Backup locks

Yes

Encrypted backups

Yes

Streaming backups

Yes

Parallel local backups

Yes

Parallel compression

Yes

Parallel encryption

Yes

Parallel apply-log

Yes

Parallel copy-back

 

Partial backups

Yes

Partial backups of individual partitions

Yes

Throttling

Yes

Backup image validation

 

Point-in-time recovery support

Yes

Safe slave backups

Yes

Compact backups

Yes

Buffer pool state backups

Yes

Individual tables export

Yes

Individual partitions export

Yes

Restoring tables to a different server

Yes

Data & index file statistics

Yes

InnoDB secondary indexes defragmentation

Yes

rsync support to minimize lock time

Yes

Improved FTWRL handlin

Yes

Backup history table

 

Backup progress table

 

Backup to tape media managers

 

Cloud backups support

 

External graphical user interfaces to backup/recovery Zmanda Recovery

Zmanda Recovery Manager for MySQL

 

XtraBackup下载

 

XtraBackup可以从官方链接https://www.percona.com/downloads/XtraBackup/LATEST/下载你需要的稳定版本。到目前为止,XtraBackup最新的版本为Percona-XtraBackup-2.4.7。这个链接也提供Percona XtraBackup Documentation相关文档下载。 下载的时候,注意版本与平台信息。

  Percona XtraBackup的源码放在Github 上,地址为https://github.com/percona/percona-xtrabackup.git

  Percona XtraBackup的文档地址:

        https://www.percona.com/doc/percona-xtrabackup/2.2/index.html

        https://www.percona.com/doc/percona-xtrabackup/2.3/index.html

        https://www.percona.com/doc/percona-xtrabackup/2.4/index.html

 

XtraBackup安装 

Percona XtraBackup的安装方式总体来说有下面三种,我们下面简单的介绍一下。然后都具体都练练手。

Installing Percona XtraBackup from Repositories (recommended)

Installing Percona XtraBackup from Downloaded rpm or apt Packages

Compiling and Installing from Source Code 

1:Installing Percona XtraBackup from Repositories  

Installing Percona XtraBackup on Red Hat Enterprise Linux and CentOS 

下面我测试的环境为CentOS Linux release 7.2.1511 (Core) ,安装Percona XtraBackup 2.4为例:

步骤1: Install the Percona repository

[test@mylnx06 ~]$ sudo yum install https://www.percona.com/downloads/percona-release/RedHat/latest/percona-release-0.1-4.noarch.rpm
[sudo] password for test: 
/usr/local/bin/aad-login failed: exit code 1
Loaded plugins: fastestmirror, langpacks
percona-release-0.1-4.noarch.rpm                         | 6.4 kB     00:00     
Examining /var/tmp/yum-root-02R3Gm/percona-release-0.1-4.noarch.rpm: percona-release-0.1-4.noarch
Marking /var/tmp/yum-root-02R3Gm/percona-release-0.1-4.noarch.rpm to be installed
Resolving Dependencies
--> Running transaction check
---> Package percona-release.noarch 0:0.1-4 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
 Package            Arch      Version    Repository                        Size
================================================================================
Installing:
 percona-release    noarch    0.1-4      /percona-release-0.1-4.noarch    5.8 k
Transaction Summary
================================================================================
Install  1 Package
Total size: 5.8 k
Installed size: 5.8 k
Is this ok [y/d/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Warning: RPMDB altered outside of yum.
  Installing : percona-release-0.1-4.noarch                                 1/1 
  Verifying  : percona-release-0.1-4.noarch                                 1/1 
Installed:
  percona-release.noarch 0:0.1-4                                                
Complete!

RHEL/Centos 5不支持从远程位置直接安装软件包,因此您需要首先下载软件包,然后用rpm手动安装

$ wget http://www.percona.com/downloads/percona-release/redhat/0.1-4/\
percona-release-0.1-4.noarch.rpm
$ rpm -ivh percona-release-0.1-4.noarch.rpm

安装完成后,你就能在/etc/yum.repos.d 下看到一个percona-release.repo文件。

步骤2: 测试Repository,确保Percona XtraBackup相关包已经在Repository中。

[test@mylnx06 ~]$ yum list | grep percona-xtrabackup
percona-xtrabackup-24.x86_64               2.4.7-2.el7                 @percona-release-x86_64
percona-xtrabackup.x86_64                  2.3.8-1.el7                 percona-release-x86_64
percona-xtrabackup-22.x86_64               2.2.13-1.el7                percona-release-x86_64
percona-xtrabackup-22-debuginfo.x86_64     2.2.13-1.el7                percona-release-x86_64
percona-xtrabackup-24-debuginfo.x86_64     2.4.7-2.el7                 percona-release-x86_64
percona-xtrabackup-debuginfo.x86_64        2.3.8-1.el7                 percona-release-x86_64
percona-xtrabackup-test.x86_64             2.3.8-1.el7                 percona-release-x86_64
percona-xtrabackup-test-22.x86_64          2.2.13-1.el7                percona-release-x86_64
percona-xtrabackup-test-24.x86_64          2.4.7-2.el7                 percona-release-x86_64

步骤3:安装Percona XtraBackup包。

[test@mylnx06 ~]$ yum install percona-xtrabackup-24
[root@GETAZDEVLNX005 ~]# yum install percona-xtrabackup-24
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
Resolving Dependencies
--> Running transaction check
---> Package percona-xtrabackup-24.x86_64 0:2.4.7-2.el7 will be installed
--> Processing Dependency: perl(DBD::mysql) for package: percona-xtrabackup-24-2.4.7-2.el7.x86_64
--> Processing Dependency: perl(Digest::MD5) for package: percona-xtrabackup-24-2.4.7-2.el7.x86_64
--> Processing Dependency: libev.so.4()(64bit) for package: percona-xtrabackup-24-2.4.7-2.el7.x86_64
--> Running transaction check
---> Package libev.x86_64 0:4.15-6.el7 will be installed
---> Package perl-DBD-MySQL.x86_64 0:4.023-5.el7 will be installed
---> Package perl-Digest-MD5.x86_64 0:2.52-3.el7 will be installed
--> Processing Dependency: perl(Digest::base) >= 1.00 for package: perl-Digest-MD5-2.52-3.el7.x86_64
--> Running transaction check
---> Package perl-Digest.noarch 0:1.17-245.el7 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
===========================================================================================
 Package                         Arch        Version        Repository                Size
===========================================================================================
Installing:
 percona-xtrabackup-24           x86_64      2.4.7-2.el7    percona-release-x86_64   7.4 M
Installing for dependencies:
 libev                           x86_64      4.15-6.el7     extras                    44 k
 perl-DBD-MySQL                  x86_64      4.023-5.el7    base                     140 k
 perl-Digest                     noarch      1.17-245.el7   base                      23 k
 perl-Digest-MD5                 x86_64      2.52-3.el7     base                      30 k
Transaction Summary
===========================================================================================
Install  1 Package (+4 Dependent packages)
Total download size: 7.6 M
Installed size: 31 M
Is this ok [y/d/N]: y
Downloading packages:
(1/5): libev-4.15-6.el7.x86_64.rpm                                   |  44 kB  00:00:00     
(2/5): perl-Digest-1.17-245.el7.noarch.rpm                           |  23 kB  00:00:00     
(3/5): perl-DBD-MySQL-4.023-5.el7.x86_64.rpm                         | 140 kB  00:00:00     
(4/5): perl-Digest-MD5-2.52-3.el7.x86_64.rpm                         |  30 kB  00:00:00     
warning: /var/cache/yum/x86_64/7/percona-release-x86_64/packages/percona-xtrabackup-24-2.4.7-2.el7.x86_64.rpm:
 Header V4 DSA/SHA1 Signature, key ID cd2efd2a: NOKEY=============    -  ] 1.1 MB/s | 6.0 MB  00:00:01 ETA 
Public key for percona-xtrabackup-24-2.4.7-2.el7.x86_64.rpm is not installed
(5/5): percona-xtrabackup-24-2.4.7-2.el7.x86_64.rpm                  | 7.4 MB  00:00:04     
-------------------------------------------------------   
Total                                                       1.9 MB/s | 7.6 MB  00:00:04     
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Percona
Importing GPG key 0xCD2EFD2A:
 Userid     : "Percona MySQL Development Team <mysql-dev@percona.com>"
 Fingerprint: 430b df5c 56e7 c94e 848e e60c 1c4c bdcd cd2e fd2a
 Package    : percona-release-0.1-4.noarch (@/percona-release-0.1-4.noarch)
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-Percona
Is this ok [y/N]: y
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : libev-4.15-6.el7.x86_64                                                         1/5 
  Installing : perl-DBD-MySQL-4.023-5.el7.x86_64                                               2/5 
  Installing : perl-Digest-1.17-245.el7.noarch                                                 3/5 
  Installing : perl-Digest-MD5-2.52-3.el7.x86_64                                               4/5 
  Installing : percona-xtrabackup-24-2.4.7-2.el7.x86_64                                        5/5 
  Verifying  : percona-xtrabackup-24-2.4.7-2.el7.x86_64                                        1/5 
  Verifying  : perl-Digest-1.17-245.el7.noarch                                                 2/5 
  Verifying  : perl-DBD-MySQL-4.023-5.el7.x86_64                                               3/5 
  Verifying  : perl-Digest-MD5-2.52-3.el7.x86_64                                               4/5 
  Verifying  : libev-4.15-6.el7.x86_64                                                         5/5 
Installed:
  percona-xtrabackup-24.x86_64 0:2.4.7-2.el7                                                                                                                                                                                                                    
Dependency Installed:
  libev.x86_64 0:4.15-6.el7                               
  perl-DBD-MySQL.x86_64 0:4.023-5.el7                               
  perl-Digest.noarch 0:1.17-245.el7                               
  perl-Digest-MD5.x86_64 0:2.52-3.el7                              
Complete!

Installing Percona XtraBackup from Percona apt repository 

下面我测试的环境为Ubuntu 16.04.1 LTS ,安装Percona XtraBackup 2.4为例:

1:从Percona官方网址获取repository packages:

mylnx02@mylnx02:~$  wget https://repo.percona.com/apt/percona-release_0.1-4.$(lsb_release -sc)_all.deb

--2017-02-28 11:57:52--  https://repo.percona.com/apt/percona-release_0.1-4.xenial_all.deb

Resolving repo.percona.com (repo.percona.com)... 74.121.199.234

Connecting to repo.percona.com (repo.percona.com)|74.121.199.234|:443... connected.

HTTP request sent, awaiting response... 200 OK

Length: 6394 (6.2K) [application/octet-stream]

Saving to: percona-release_0.1-4.xenial_all.deb

percona-release_0.1-4.xenial_all.deb        100%[==================>]  6.24K  --.-KB/s    in 0s     

2017-02-28 11:57:53 (157 MB/s) - percona-release_0.1-4.xenial_all.deb saved [6394/6394]

2: 用dpkg安装下载的package包文件

 

mylnx02@mylnx02:~$ sudo dpkg -i percona-release_0.1-4.$(lsb_release -sc)_all.deb

Selecting previously unselected package percona-release.

(Reading database ... 76835 files and directories currently installed.)

Preparing to unpack percona-release_0.1-4.xenial_all.deb ...

Unpacking percona-release (0.1-4.xenial) ...

Setting up percona-release (0.1-4.xenial) ...

mylnx02@azrlnx02:~$

3: update the local cache

mylnx02@mylnx02:~$ sudo apt-get update

Hit:1 http://azure.archive.ubuntu.com/ubuntu xenial InRelease

Get:2 http://azure.archive.ubuntu.com/ubuntu xenial-updates InRelease [102 kB]

Get:3 http://azure.archive.ubuntu.com/ubuntu xenial-backports InRelease [102 kB]

Hit:4 http://ppa.launchpad.net/ondrej/php/ubuntu xenial InRelease             

Get:5 http://security.ubuntu.com/ubuntu xenial-security InRelease [102 kB]   

Get:6 http://repo.percona.com/apt xenial InRelease [15.9 kB]                 

Get:7 http://repo.percona.com/apt xenial/main Sources [5,387 B]               

Get:8 http://repo.percona.com/apt xenial/main amd64 Packages [19.1 kB] 

Fetched 347 kB in 1s (212 kB/s)   

Reading package lists... Done

N: Ignoring file '50unattended-upgrades.ucf-dist' in directory '/etc/apt/apt.conf.d/' as it has an invalid filename extension

mylnx02@azrlnx02:~$

4:安装Percona XtraBackup包percona-xtrabackup-24

 

mylnx02@mylnx02:~$ sudo apt-get install percona-xtrabackup-24
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  libdbd-mysql-perl libdbi-perl libev4 libmysqlclient20
Suggested packages:
  libclone-perl libmldbm-perl libnet-daemon-perl libsql-statement-perl
The following NEW packages will be installed:
  libdbd-mysql-perl libdbi-perl libev4 libmysqlclient20 percona-xtrabackup-24
0 upgraded, 5 newly installed, 0 to remove and 72 not upgraded.
Need to get 6,063 kB/7,699 kB of archives.
After this operation, 39.0 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://azure.archive.ubuntu.com/ubuntu xenial/universe amd64 libev4 amd64 1:4.22-1 [26.3 kB]
Get:2 http://repo.percona.com/apt xenial/main amd64 percona-xtrabackup-24 amd64 2.4.6-1.xenial [6,037 kB]
Fetched 6,063 kB in 3s (1,909 kB/s)                  
N: Ignoring file '50unattended-upgrades.ucf-dist' in directory '/etc/apt/apt.conf.d/' as it has an invalid filename extension
Selecting previously unselected package libdbi-perl.
(Reading database ... 76841 files and directories currently installed.)
Preparing to unpack .../libdbi-perl_1.634-1build1_amd64.deb ...
Unpacking libdbi-perl (1.634-1build1) ...
Selecting previously unselected package libmysqlclient20:amd64.
Preparing to unpack .../libmysqlclient20_5.7.17-0ubuntu0.16.04.1_amd64.deb ...
Unpacking libmysqlclient20:amd64 (5.7.17-0ubuntu0.16.04.1) ...
Selecting previously unselected package libdbd-mysql-perl.
Preparing to unpack .../libdbd-mysql-perl_4.033-1ubuntu0.1_amd64.deb ...
Unpacking libdbd-mysql-perl (4.033-1ubuntu0.1) ...
Selecting previously unselected package libev4.
Preparing to unpack .../libev4_1%3a4.22-1_amd64.deb ...
Unpacking libev4 (1:4.22-1) ...
Selecting previously unselected package percona-xtrabackup-24.
Preparing to unpack .../percona-xtrabackup-24_2.4.6-1.xenial_amd64.deb ...
Unpacking percona-xtrabackup-24 (2.4.6-1.xenial) ...
Processing triggers for man-db (2.7.5-1) ...
Processing triggers for libc-bin (2.23-0ubuntu5) ...
Setting up libdbi-perl (1.634-1build1) ...
Setting up libmysqlclient20:amd64 (5.7.17-0ubuntu0.16.04.1) ...
Setting up libdbd-mysql-perl (4.033-1ubuntu0.1) ...
Setting up libev4 (1:4.22-1) ...
Setting up percona-xtrabackup-24 (2.4.6-1.xenial) ...
Processing triggers for libc-bin (2.23-0ubuntu5) ...
N: Ignoring file '50unattended-upgrades.ucf-dist' in directory '/etc/apt/apt.conf.d/' as it has an invalid filename extension
mylnx02@mylnx02:~$  innobackupex -v
innobackupex version 2.4.6 Linux (x86_64) (revision id: 54967d1)

2:Installing Percona XtraBackup from Downloaded rpm or apt Packages

1:使用yum localinstall package 从本机目录安装软件包

[root@mylnx13 ~]# wget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.4/\
> binary/redhat/7/x86_64/percona-xtrabackup-24-2.4.4-1.el7.x86_64.rpm
[root@mylnx13 ~]#yum localinstall percona-xtrabackup-24-2.4.4-1.el7.x86_64.rpm

2:原始的rpm安装方式

 这里测试环境,下载的是 Percona-XtraBackup-2.2.12-r8726828-el5-x86_64-bundle.tar安装包。在安装之前最好安装一些其他额外组件,例如perl-DBD-MySQL等。否则你会遇到一些杂七杂八的问题。例如

perl(DBD::mysql) is needed by percona-xtrabackup-2.2.12-1.el5.x86_64

[root@DB-Server tmp]# rpm -ivh percona-xtrabackup-2.2.12-1.el5.x86_64.rpm

warning: percona-xtrabackup-2.2.12-1.el5.x86_64.rpm: Header V4 DSA signature: NOKEY, key ID cd2efd2a

error: Failed dependencies:

        perl(DBD::mysql) is needed by percona-xtrabackup-2.2.12-1.el5.x86_64

[root@DB-Server ~]# yum install cmake gcc gcc-c++ libaio libaio-devel automake autoconf bzr \
                    bison libtool ncurses5-devel
[root@DB-Server ~]# yum -y install perl perl-devel libaio libaio-devel perl-Time-HiRes perl-DBD-MySQL

 

[root@MySQLDB005 tmp]# tar -xf Percona-XtraBackup-2.2.12-r8726828-el5-x86_64-bundle.tar
[root@MySQLDB005 tmp]# rpm -ivh percona-xtrabackup-2.2.12-1.el5.x86_64.rpm 
warning: percona-xtrabackup-2.2.12-1.el5.x86_64.rpm: Header V4 DSA signature: NOKEY, key ID cd2efd2a
Preparing...                ########################################### [100%]
   1:percona-xtrabackup     ########################################### [100%]
[root@MySQLDB005 tmp]#  

更多详情见请继续阅读下一页的精彩内容http://www.linuxidc.com/Linux/2017-07/145638p2.htm

linux
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款