企业级备份插件-Xtrabackup命令恢复备份数据

2022-04-29 02:38 406 浏览

模拟环境:Centos7.9
MySQL5.6
企业级备份插件
腾讯云COS
模拟场景:
删除需要恢复的库,并使用企业级备份的全量以及增量备份进行数据恢复
PS:
1.恢复数据时需要停止MySQL,以及删除当前的数据目录(/www/server/data)
建议直接重命名/www/server/data目录
2.存放路径可自定义,没有硬性规定。
1.到云存储内将企业级备份的压缩备份文件下载到本地上传到服务器指定目录,这边存放路径在/opt/backup路径下,可以使用FTP或者SSH工具
SSH工具可以使用rz命令上传,部分机器默认已经安装rz命令。没有该命令的则安装即可
rz命令安装:

  1. yum -y install lrzsz


复制代码

存放目录创建:

  1. mkdir -p /opt/backup

复制代码

全量备份恢复
2.上传后解压压缩包,解压到当前路径下

  1. cd /opt/backup

  2. tar -zxvf 2022-04-25_23-06-27

复制代码

3.将/www/server/data下的目录重命名,在接着执行数据恢复命令

  1. mv /www/server/data /www/server/data.bak

复制代码

4.对备份进行prepare事务回滚

  1. innobackupex   --apply-log --redo-only /opt/backup/2022-04-25_23-06-27

复制代码

结尾出现 completed OK!,说明

5.数据恢复,这里必须要将数据目录清空,如有其他数据,建议使用新服务器或者虚拟机进行恢复。

  1. innobackupex --copy-back /opt/backup/2022-04-25_23-06-27

复制代码

出现completed OK!说明恢复成功

6.恢复后,查看新建立的数据目录是否有文件。

PS:这里我们企业级备份只做了单库的备份,所以恢复出来的数据没有MySQL的一些系统库。
7.将重命名的data.bak目录下的系统库文件拷贝到新数据目录下,准备启动MySQL。
拷贝前一定要将原来的ibdata文件重命名掉,不然会复制时会被覆盖掉。

  1. mv /www/server/data.bak/ibdata1 /www/server/data/ibdata1.bak

复制代码

然后使用cp命令复制到新数据目录下,并将新生成的/www/server/data目录授权mysql用户权限,然后启动MySQL。

  1. chown -R mysql:mysql /www/server/data

复制代码

8.通过phpmyadmin登录查看数据正常,然后手动将数据备份一份。

PS:由于我们企业级备份只是做了一个单库备份,未做全库备份,所以这里单库恢复使用的是全库的恢复方法。
增量备份恢复
1.新建数据表进行,并插入数据。到插件内执行备份,此操作只会备份增量。

2.找到最新的增量备份下载上传至服务器,增量需要结合全量才能进行完全的恢复。

3.增量恢复也需要清空/www/server/data数据目录,不然恢复时会提示错误。
第一次回滚全备备份,确保数据的一致性:

  1. innobackupex --apply-log --redo-only 2022-04-25_23-06-27

复制代码

第二次回滚增量备份合并到全量备份:

  1. innobackupex --apply-log --redo-only 2022-04-25_23-06-27 --incremental-dir=2022-04-26_02-55-46

复制代码

第三次恢复数据:

  1. innobackupex --copy-back /opt/backup/2022-04-25_23-06-27

复制代码

4.将/www/server/data.bak数据目录下系统库拷贝到/www/server/data目录下

  1. \cp -r -a /www/server/data.bak/* /www/server/data

复制代码

5.更改/www/server/data数据目录为mysql用户,不然无法启动MySQL。

  1. chown  -R mysql:mysql /www/server/data

复制代码

7.验证数据

以上是基于宝塔面板---企业级备份插件的全量和增量备份的数据恢复过程
PS:数据无价,注意备份。以上所有操作都是在测试环境下操作,如果自己机器上有其他库数据,请使用自己测试机器去恢复数据。
因为要删除/www/server/data目录,这个是xtrabackup官方硬性要求,没有办法。单库恢复太复杂了,所以这里是使用都是全量备份的恢复操作。
innobackupex是xtrabackeup工具下的命令,还有文档使用到的一些参数详解:
--apply-log
通过应用同一目录下的事务日志文件xtrabackup_logfile,在BACKUP-DIR目录准备一个备份。页建立一个新的事务日志文件。innoDB的配置是从innobackupex备份时建立的文件backup-my.cnf读取。
--copy-back
复制所有的备份到他们原来的位置
--incremental-basedir

指定一个包换全库备份的目录作为增量备份的基础数据库

--redo-only

选项用于准备全库备份和合并处最有一个备份外的所有增量备份。它强制xtrabackup忽略“rollback”阶段只做“redo”.


分享:
相关内容
  • /usr/bin/bt: line 129: syntax error: unexpected end of file 解决办法
    最近有遇到过安装完面板时候,输入bt 报 /usr/bin/bt: line 129: syntax error: unexpected end of file 的错误出现这个问题可能原因:1、网络波动导致无法将宝塔文件写入到/etc/init.d/bt 这个系统文件2、源文件缺失下面是解决办法:1、mv /etc/init.d/bt /tmp/bt_back2、cp /www/server/panel/init.sh /etc/init.d/bt && chmod +x /etc/init.d/bt3、/etc/init.d/bt restart复制代码
  • bt宝塔使用Python项目管理部署Djangoblog详细教程
  • 宝塔一键迁移API版本3.0详细教程
    关键词说明:发送数据服务器:当前需要进行数据迁移的服务器,其他名称:迁出服务器。接收数据服务器:当前用于接收数据的服务器,其他名称:迁入服务器。API秘钥:面板提供的外部调用接口。API秘钥IP白名单:用于授权指定IP使用面板API秘钥。填写一键迁移配置信息,这里必须强调是接收服务器信息、接收服务器信息、接收服务器信息(重要的事情说三遍)。目标面板地址:
  • linux宝塔bt如何使用亚马逊S3存储备份你的数据
    如何使用亚马逊S3存储备份你的数据一、安装AWS S3对象存储插件二、获取亚马逊的密钥步骤如下:1、登录你的控制台, 点击右上角你的用户名,选择安全凭证2、创建你的根密钥并记录下来三、获取你的存储桶名四、填入你获取到的密钥对和桶名到插件内五、备份时存储选择AWS即可aws5.png(35.66 KB, 下载次数: 226)下载附件2020-5-29 10:31 上传
  • linux宝塔为何添加域名没有生效?
    1、首先检查域名是否正确解析或挂有CDN,可到域名管理中查看,或自己ping一下2、检查Nginx配置是否有误,命令如下:service nginx reload3、可通过文件管理检查目录权限 一般应该为 755 : www如图:4、请确保网站根目录包含默认文档文件名,如:index.html
相关推荐
linux
热门内容
  • 如何解决[Docker管理器]运行时发生错误!
    解决办法:返回主页,点击右上角修复。或者等待10分钟自主会修复!
  • 宝塔防火墙禁止境外访问,禁止境内访问讲解
    一、禁止境外访问,禁止境内访问简介首先说明一下:禁止海外访问--->禁止除大陆之外的地区访问禁止境内访问---> 禁止国内访问二、防御设置2.1 禁止海外访问 (全局开关+站点开关=开启)这里全局开关需要开启。这个开启只是说开启了全局的。如果需要网站开启需要在网站里面开启才能让网站禁止海外访问两边开启成功之后才是真正的给这个网站开启了禁止海外访问2.1 禁止境内访问 (
  • 如何解决宝塔安装出现"下载宝塔运行环境失败,请尝试...
    用的是阿里云服务器,安全组该放行的端口都放行了您好,您那边使用的是哪个地区的服务器呢?您那边执行下面命令绑定下hosts然后重新安装看下是否正常echo "36.133.1.8 www.bt.cn download.bt.cn api.bt.cn dg1.bt.cn dg2.bt.cn" >> /etc/hosts
  • bt宝塔Nginx反向代理详细图文教程
    概念:反向代理:反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源。同时,用户不需要知道目标服务器的地址,也无须在用户端作任何设定。反向代理服务器通常可用来作为Web加速,即使用反向代理作为Web服务器的前置机来降低网络和服务器的负载,提高访问效率。(
  • 如何解决ubuntu20.04编译安装nginx失败
Tags标签
联系方式