下载 XtraBackup
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会报错
rpm -ivh percona-xtrabackup-24-2.4.9-1.el7.x86_64.rpm
验证
rpm -qa | grep perc
创建备份用户
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/
还原全量备份
上一步产生的备份文件是按时间戳产生的目录,我们来看下我们的刚才产生的全备文件
一 . 如果我们想要使用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
三. 清空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