安装方法一

yum -y install socat​ libev perl-DBD-MySQL rsync

1.Install the Percona repository

[root@service2 ~]# yum install http://www.percona.com/downloads/percona-release/redhat/0.1-6/percona-release-0.1-6.noarch.rpm -y

2.Testing the repository

[root@service2 ~]# yum list | grep percona

3.Install the packages

[root@service2 ~]# yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm -y

[root@service2 ~]# yum install percona-xtrabackup-24 -y

安装方法二

1.Installing Percona XtraBackup using downloaded rpm packages [root@service2 ~]# 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@service2 ~]# yum localinstall percona-xtrabackup-24-2.4.4-1.el7.x86_64.rpm -y

数据库进行备份

[root@server ~]# innobackupex --defaults-file=/etc/my.cnf -uroot -p102110504 ~/backup/

查看 [root@server 2018-09-10_08-07-37]# cat xtrabackup_checkpoints backup_type = full-backuped from_lsn = 0 to_lsn = 1597945 last_lsn = 1597945 compact = 0 recover_binlog_info = 0

备份准备

使用该选项进行备份后,您首先需要准备它以便恢复它。数据文件在准备之前不是时间点一致的,因为它们在程序运行时的不同时间被复制,并且在发生这种情况时它们可能已被更改。如果您尝试使用这些数据文件启动InnoDB,它将检测损坏并自行崩溃,以防止您在损坏的数据上运行。该步骤使文件在一个时刻完全一致,因此您可以在它们上运行InnoDB。

[root@server 2018-09-10_08-07-37]# innobackupex --prepare --apply-log-only ./

恢复备份

警告 备份需要准备好才能恢复。为方便起见,xtrabackup binary有一个 选项,它将备份复制到服务器的datadir:xtrabackup --copy-back $ xtrabackup --copy-back --target-dir = / data / backups / 如果您不想保存备份,可以使用 将备份数据移动到datadir的选项。xtrabackup --move-back 如果您不想使用上述任何选项,则可以另外使用 rsync或cp来还原文件。

注意 在恢复备份之前,datadir必须为空。另外需要注意的是,在执行恢复之前需要关闭MySQL服务器。您无法还原到正在运行的mysqld实例的datadir(导入部分备份时除外)。可用于还原备份的rsync命令示例如下所示:

$ rsync -avrP / data / backup / / var / lib / mysql / 您应该检查已还原的文件是否具有正确的所有权和权限。

由于文件的属性将被保留,在大多数情况下,您需要mysql在启动数据库服务器之前将文件的所有权更改为,因为它们将由创建备份的用户拥有:

$ chown -R mysqlmysql /var/lib/mysql 现在可以恢复数据,您可以启动服务器。

[root@server mysql]# systemctl stop mariadb [root@server mysql]# rm -fr /var/lib/mysql/* [root@server 2018-09-10_08-07-37]# innobackupex --datadir=/var/lib/mysql --copy-back ./ [root@server mysql]# chown -R mysqlmysql /var/lib/mysql [root@server mysql]# systemctl start mariadb