MySQL物理备份概述

本文详细介绍了MySQL的物理备份,包括全备、增量备份和差异备份的概念、优缺点及操作流程。全备占用空间大但恢复简单;增量备份节省空间但恢复复杂;差异备份介于两者之间。文章还提供了使用Percona Xtrabackup进行物理备份的具体步骤和恢复流程。

物理备份分为全备,增量备份,差异备份;

全备:将所有数据全部备份起来,这样相对比较占用空间,但是恢复起来简单

增量备份:和上一次备份做对比,只备份增加的部分,增量备份是物理备份中最节省空间,但是在恢复时候相对比较麻烦,需要将数据一次次的拼接起来,才能找到完整的数据进行恢复

差异备份:和上一次全备做对比,只备份有变化的部分,和全备相比,占用空间比较小,恢复数据比全备多一步数据拼接,增量备份比较,占用空间比较小,进行恢复数据时候操作比较简单。

物理备份在数据库运行状态下就可以做,但是物理备份进行数据恢复必须在数据库关闭状态下进行。

物理备份需要借助三方工具percona-xtrabackup,xtrabackup是Perconal公司开发的一款MySQL数据库备份软件,其特点是开源,免费,备份执行过程中不会阻塞事务、备份可以压缩、支持全备和增量备份。

物理备份环境准备,安装第三方工具:
1、获取yum源:wget http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm
2、安装yum源:rpm -ivh percona-release-0.1-4.noarch.rpm
3、关闭percona-release.repo 源的安全检测,将启用的源的gpgcheck全部关闭
4、yum -y install percona-xtrabackup-24.x86_64

完全备份流程:
1、创建备份目录
2、完全备份:
完全备份恢复流程:
1、停止数据库
2、清理原有数据
3、重演回滚数据
4、修改权限
5、启动数据库
完全备份以及完全备份恢复案例:
1、完全备份
1、1 mkdir -p /mnt/backup
1、2 innobackupex --user=root --password=‘Jqb19910312,’ /mnt/backup
2、完全备份恢复
2、1 systemctl stop mysqld
2、2 rm -rf /var/lib/mysql/*
2、3 innobackupex --apply-log /mnt/backup/2020-10-05_01-53-31/
innobackupex --copy-back /mnt/backup/2020-10-05_01-53-31/
2、4 chown -R mysql:mysql /var/lib/mysql/
2、5 systemctl restart mysqld

增量备份流程:
1、创建备份目录
2、完全备份:
3、数据库发生改变,依据上一次备份,对于新增内容做出备份
增量备份恢复流程:
1、停止数据库
2、清理原有数据
3、重演回滚数据
4、修改权限
5、启动数据库
增量备份以及增量备份恢复案例:
1、完全备份
1、1 mkdir -p /mnt/backup
1、2 innobackupex --user=root --password=‘Jqb19910312,’ /mnt/backup
1、3 创建数据库school1
1、4 innobackupex --user=root --password=‘Jqb19190312,’ --incremental /mnt/backup/ --incremental-basedir=/mnt/backup/2020-10-05_02-10-41
1、5 创建数据库school2
1、6 innobackupex -uroot -p’Jqb19910312,’ --incremental /mnt/backup/ ooincremental-basedir=/mnt/backup/ 2020-10-05_02-12-25
2、完全备份恢复
2、1 systemctl stop mysqld
2、2 rm -rf /var/lib/mysql/*
2、3 innobackupex --apply-log --redo-only /mnt/backup/2020-10-05_02-10-41
innobackupex --apply-log --redo-only /mnt/backup/2020-10-05_02-10-41/ --incremental-dir=/mnt/backup/2020-10-05_02-12-25
innobackupex --apply-log --redo-only /mnt/backup/2020-10-05_02-10-41 --incremental-dir=/mnt/backup/2020-10-05_02-13-31
innobackupex --copy-back /mnt/backup/2020-10-05_02-10-41/
2、4 chown -R mysql:mysql /var/lib/mysql/
2、5 systemctl restart mysqld

差异备份流程:
1、创建备份目录
2、完全备份:
3、数据库发生改变,依据上一次完全备份,对于新增内容做出备份
差异备份恢复流程:
1、停止数据库
2、清理原有数据
3、重演回滚数据
4、修改权限
5、启动数据库
差异备份以及差异备份恢复案例:
1、完全备份
1、1 mkdir -p /mnt/backup
1、2 innobackupex --user=root --password=‘Jqb19910312,’ /mnt/backup
1、3 创建数据库school3
1、4 innobackupex --user=root --password=‘Jqb19190312,’ --incremental /mnt/backup/ --incremental-basedir=/mnt/backup/2020-10-05_02-48-38
1、5 创建数据库school4
1、6 innobackupex -uroot -p’Jqb19910312,’ --incremental /mnt/backup/ ooincremental-basedir=/mnt/backup/2020-10-05_02-48-38
2、完全备份恢复
2、1 systemctl stop mysqld
2、2 rm -rf /var/lib/mysql/*
2、3 innobackupex --apply-log --redo-only /mnt/backup/2020-10-05_02-48-38
innobackupex --apply-log --redo-only /mnt/backup/2020-10-05_02-48-38/ --incremental-dir=/mnt/backup/2020-10-05_02-53-22
innobackupex --copy-back /mnt/backup/2020-10-05_02-10-41/
2、4 chown -R mysql:mysql /var/lib/mysql/
2、5 systemctl restart mysqld
差异备份和增量备份比较像,只要将增量备份中比较对象换成上一次全备,就变成差异备份

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值