mysql5.7 使用XtraBackup2.4 全量备份还原

下载 XtraBackup


mysql5.7我们使用 XtraBackUp2.4版本 下面是网址


mysql5.7 使用XtraBackup2.4 全量备份还原

下载文件为 percona-xtrabackup-24-2.4.9-1.el7.x86_64.rpm


进行安装


预先安装 libev perl-DBD-MySQL perl-Digest-MD5


yum -y install libev

yum -y install perl-DBD-MySQL

yum -y install perl-Digest-MD5

或者一次安装

yum -y install libev perl-DBD-MySQL perl-Digest-MD5

如果不安装依赖直接安装rpm会报错

mysql5.7 使用XtraBackup2.4 全量备份还原


rpm -ivh percona-xtrabackup-24-2.4.9-1.el7.x86_64.rpm

mysql5.7 使用XtraBackup2.4 全量备份还原


验证

rpm -qa | grep perc

mysql5.7 使用XtraBackup2.4 全量备份还原


创建备份用户


grant reload,lock tables,replication client,create tablespace,super, PROCESS ,INSERT,SELECT on *.* to 'backup'@'%' identified by '123456';


flush privileges;


全量备份

innobackupex --defaults-file=/etc/my.cnf --user=backup --password=123456 --socket=/usr/local/mysql/mysql.sock /usr/local/mysqlbackup/


还原全量备份

上一步产生的备份文件是按时间戳产生的目录,我们来看下我们的刚才产生的全备文件

mysql5.7 使用XtraBackup2.4 全量备份还原

一 . 如果我们想要使用2020-04-11_08-26-09进行还原,直接进行还原是不行的,需要先对其进行prepare处理,处理成功后才能使用其进行还原

innobackupex --apply-log --use-memory=100M /usr/local/mysqlbackup/2020-04-11_08-26-09

二. 关闭mysql服务

systemctl stop mysql

systemctl status mysql

mysql5.7 使用XtraBackup2.4 全量备份还原


三. 清空mysql data目录

cd /usr/local/mysql/data/

rm -rf *

如果是生产环境直接还原,则不建用删除文件,可以将文件目录重新命名,然后新建一个数据目录,如果还原验证 没有问题,在删除老数据,如果有问题,可以将老数据还原回来

cd /usr/local/mysql/data/

mv data olddata

mkdir data


四. 开始还原

innobackupex --copy-back /usr/local/mysqlbackup/2020-04-11_08-26-09


五. 重置权限给mysql

chown -R mysql:mysql /usr/local/mysql/data

六. 启动mysql服务

systemctl restart mysql

systemctl status mysql

mysql5.7 使用XtraBackup2.4 全量备份还原

您可能还会对下面的文章感兴趣: