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
【mysql5.7 使用XtraBackup2.4 全量备份还原】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 全量备份还原

文章插图
 




    推荐阅读