linux系统——Mysql备份及恢复详解

linux系统——Mysql备份及恢复详解

一个公司最重要的价值所在就是用户数据,所以对数据库的备份是十分重要的,同时对数据库的备份策略是多种多样的,这里简单介绍一下percona-xtrabackup工具,和自带的mysqldump工具两种备份方式。

percona-xtrabacku工具

  • 完整备份——全部备份
  • 增量备份——备份基于上一次备份增加的数据
  • 差异备份——备份基于上一次完整备份增加的数据

- 部署percona-xtrabacku

  • 官网下载:www.percona.com

因为官网速度太慢就提前下载了

  • 安装percona需要的mysql包
yum  install mysql-community-libs-compat -y

- 完整备份

模拟数据产生:

mysql -uroot -p'密码' -e '操作(create,insert)';	\\-e   在数据库外对数据库操作		

在这里插入图片描述
完整备份:

innobackupex --user=root --password='QianFeng@123' /xtrabackup/full
inno主体命令  	登陆用户		登录密码					备份文件存放路径

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

模拟数据损坏:

可以试一下,想干又不敢干的事了,删库!!不用跑路的那种

在这里插入图片描述
备份恢复:

  • 生成回滚日志:
innobackupex --apply-log /xtrabackup/full/2017-08-01_00-00-18/
				回滚日志		备份文件路径

在这里插入图片描述
在这里插入图片描述

  • 恢复:
innobackupex --copy-back /xtrabackup/full/2017-08-01_00-00-18/
				恢复		备份文件路径

在这里插入图片描述
在这里插入图片描述
登陆验证:

因为恢复是使用root账户操作的,所以mysql库文件权限是root,要授权后启动登陆验证

chown  -R mysql.mysql  /var/lib/mysql
systemctl start mysqld

在这里插入图片描述

- 增量备份

在上边实验的基础上,新增数据1天:
在这里插入图片描述
增量备份1:

innobackupex --user=root --password='Qianfeng@123' --incremental /xtrabackup/  --incremental-basedir=/xtrabackup/2020-08-28_19-38-36/
主体命令			用户		密码						增量备份文件存放路径			基于谁做备份

在这里插入图片描述
在这里插入图片描述
新增数据第二天:

在这里插入图片描述
增量备份第二天:

innobackupex --user=root --password='Qianfeng@123' --incremental /xtrabackup/  --incremental-basedir=/xtrabackup/2020-08-29_00-03-47/

在这里插入图片描述
在这里插入图片描述

模拟数据损坏:
在这里插入图片描述
回滚备份:

  • 回滚完整备份:
innobackupex --apply-log --redo-only /xtrabackup/2020-08-28_19-38-36/

在这里插入图片描述

  • 回滚增量备份:
innobackupex --apply-log --redo-only /xtrabackup/2020-08-28_19-38-36/  --incremental-dir=/xtrabackup/2020-08-29_00-03-47/

在这里插入图片描述
备份恢复测试:

  • 备份恢复:
innobackupex --copy-back /xtrabackup/2020-08-28_19-38-36/

在这里插入图片描述

  • 测试:

结论:想要恢复到哪天的数据,就回滚到哪天

在这里插入图片描述
第二次增量恢复测试:

同上边的操作相同,只是回滚的时候要将第二次增量加到完整上

  • 停掉mysql,删库:

在这里插入图片描述

  • 回滚第二次增量备份:
innobackupex --apply-log --redo-only /xtrabackup/2020-08-28_19-38-36/  --incremental-dir=/xtrabackup/2020-08-29_00-07-38/

在这里插入图片描述

  • 数据恢复:

同样,恢复使用完整备份即可

innobackupex --copy-back /xtrabackup/2020-08-28_19-38-36/

在这里插入图片描述

  • 登陆测试:

在这里插入图片描述

- 差异备份

差异备份——基于上一次完整备份做备份,所以命令同上增量备份相同,只是在做备份时,命令注意要基于完整备份,回滚时,想要恢复到哪天,只需将那天的差异备份加到完整备份即可,不用重复一条一条回滚

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值