mysql使用物理备份-如何安装xtrabackup-完全备份详细流程

1.安装xtrabackup

下载路径: https://www.percona.com/downloads/Percona-XtraBackup-2.4/

下载版本: Percona XtraBackup

数据库5.4 就用2.4的版本

可以选2.4.9的版本 centos红帽rpm版本


安装xtrabackup
登录mysql查看版本
mysql是5.7.44版本:
装的时候就装2.4.29版本
cd /soft 
https://downloads.percona.com/downloads/Percona-XtraBackup-2.4/Percona-XtraBackup-2.4.29/binary/redhat/7/x86_64/percona-xtrabackup-24-2.4.29-1.el7.x86_64.rpm
下载地址:
# wget https://downloads.percona.com/downloads/Percona-XtraBackup-2.4/Percona-XtraBackup-2.4.29/binary/redhat/7/x86_64/percona-xtrabackup-24-2.4.29-1.el7.x86_64.rpm
# yum install percona-xtrabackup-24-2.4.26-1.el7.x86_64.rpm 

查看安装情况
[root@base-c7 soft]# rpm -qa | grep xtrabackup
percona-xtrabackup-24-2.4.29-1.el7.x86_64

查看版本:
[root@base-c7 soft]#xtrabackup --version
xtrabackup version 2.4.29 based on MySQL server 5.7.44 Linux (x86_64) (revision id: 2e6c0951)
注意:
my.cnf需要确认配置文件内有数据库目录指定
# cat /etc/my.cnf
[mysqld]
datadir = /usr/local/mysql/data
恢复时数据库目录必须为空,MySQL服务不能启动
如何删除xtrabackup
rpm -e percona-xtrabackup-24
yum remove percona-xtrabackup-24
rpm -qa | grep xtrabackup

2.完全备份流程:

完整备份语法:
innobackupex --user=root --password='口令' /备份目录
案例:
innobackupex --user=root --password='qf123' /xtrabackup/full

备份的文件夹放在哪个地方
/xtrabackup/full


第一步:创建备份目录:
[root@mysql-server ~]# mkdir /xtrabackup/full -p

第二步备份:
没有带用户名和密码是因为在vim /etc/my.cnf(password=123456
port = 3306)配置过了
innobackupex /xtrabackup/full

[root@mysql-server ~]# innobackupex --user=root --password='qf123' /xtrabackup/full

cd 进去会产生一个年月日时分秒的文件夹
cd /xtrabackup/full/  ll
2024-05-21_21-51-01

在执行一次就会又产生一个文件夹
innobackupex /xtrabackup/full
2024-05-21_21-59-46

cd 进去就可以看到备份的路径
cd 2024-05-21_21-51-01/ ll

防止数据被修改 就把文件进行压缩,要用的时候就进行解压
cd /xtrabackup/full/
tar -czvf 2024-05-21_21-59-46.tar.gz 2024-05-21_21-59-46

创建文件夹 把2024-05-21_21-59-46.tar.gz 移动到tar文件夹里
mkdir tar
mv 2024-05-21_21-59-46.tar.gz tar/

先进行拷贝一份 以防改错
cp -r 2024-05-21_21-59-46{,.ori}
就可以把备份目录给清理掉了
rm -rf 2024-05-21_21-59-46.ori/


写脚本只做备份,不要写脚本搞还原
还原搞手动
完全备份恢复流程
数据没有特殊需求 就不要搞还原(很麻烦)
完全备份恢复流程
1. 停止数据库
2. 清理环境
3. 重演回滚--> 恢复数据
4. 修改权限
5. 启动数据库


第一步先停服务 
systemctl stop mysqld
注意:数据库目录必须为空,MySQL服务不能启动

第二步开始删数据
cd /usr/local/mysql/data
rm -rf *

第三步重演回滚 恢复数据:
3.重演回滚 恢复数据:
语法
innobackupex --apply-log /备份目录/完整备份目录(年月日时分秒)
案例:
innobackupex --apply-log /xtrabackup/full/2024-05-21_21-59-46
恢复数据:
语法:
innobackupex --copy-back /备份目录/完整备份目录(年月日时分秒)
案例:
相当于把文件复制回来
innobackupex --copy-back /xtrabackup/full/2024-05-21_21-59-46

此时已经恢复成功
pwd ll

修改权限:
chown -R mysql:mysql /usr/local/mysql/data

启动数据库:
systemctl start mysqld

查看端口
ss -ntpl | grep 3306

登录MySQL 查看库
show databases;

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值