首页 网建技术 宝塔windows企业级的备份插件-Xtrabackup命令如何恢复备份数据教程

宝塔windows企业级的备份插件-Xtrabackup命令如何恢复备份数据教程

模拟环境:Centos7.9 MySQL5.6 企业级备份插件 腾讯云COS 模拟场景: 删除需要恢复的库,并使用企业级备份的全量以及增量备份进行数据恢复 PS: 1.恢复数据时需…

模拟环境: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

复制代码

宝塔windows企业级的备份插件-Xtrabackup命令如何恢复备份数据教程插图 宝塔windows企业级的备份插件-Xtrabackup命令如何恢复备份数据教程插图1

全量备份恢复
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!,说明
宝塔windows企业级的备份插件-Xtrabackup命令如何恢复备份数据教程插图2

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

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

复制代码

出现completed OK!说明恢复成功
宝塔windows企业级的备份插件-Xtrabackup命令如何恢复备份数据教程插图3

6.恢复后,查看新建立的数据目录是否有文件。
宝塔windows企业级的备份插件-Xtrabackup命令如何恢复备份数据教程插图4
PS:这里我们企业级备份只做了单库的备份,所以恢复出来的数据没有MySQL的一些系统库。

7.将重命名的data.bak目录下的系统库文件拷贝到新数据目录下,准备启动MySQL。
拷贝前一定要将原来的ibdata文件重命名掉,不然会复制时会被覆盖掉。

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

复制代码

宝塔windows企业级的备份插件-Xtrabackup命令如何恢复备份数据教程插图5

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

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

复制代码

宝塔windows企业级的备份插件-Xtrabackup命令如何恢复备份数据教程插图6

8.通过phpmyadmin登录查看数据正常,然后手动将数据备份一份。
宝塔windows企业级的备份插件-Xtrabackup命令如何恢复备份数据教程插图7

PS:由于我们企业级备份只是做了一个单库备份,未做全库备份,所以这里单库恢复使用的是全库的恢复方法。


增量备份恢复
1.新建数据表进行,并插入数据。到插件内执行备份,此操作只会备份增量。
宝塔windows企业级的备份插件-Xtrabackup命令如何恢复备份数据教程插图8
2.找到最新的增量备份下载上传至服务器,增量需要结合全量才能进行完全的恢复。
宝塔windows企业级的备份插件-Xtrabackup命令如何恢复备份数据教程插图9
3.增量恢复也需要清空/www/server/data数据目录,不然恢复时会提示错误。
第一次回滚全备备份,确保数据的一致性:

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

复制代码

宝塔windows企业级的备份插件-Xtrabackup命令如何恢复备份数据教程插图10
第二次回滚增量备份合并到全量备份:

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

复制代码

宝塔windows企业级的备份插件-Xtrabackup命令如何恢复备份数据教程插图11
第三次恢复数据:

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

复制代码

宝塔windows企业级的备份插件-Xtrabackup命令如何恢复备份数据教程插图12

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

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

复制代码

宝塔windows企业级的备份插件-Xtrabackup命令如何恢复备份数据教程插图13

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

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

复制代码

宝塔windows企业级的备份插件-Xtrabackup命令如何恢复备份数据教程插图14

7.验证数据
宝塔windows企业级的备份插件-Xtrabackup命令如何恢复备份数据教程插图15

以上是基于宝塔面板—企业级备份插件的全量和增量备份的数据恢复过程

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”.

免责声明:文章内容不代表本站立场,本站不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考,文章版权归原作者所有。如本文内容影响到您的合法权益(内容、图片等),请及时联系本站,我们会及时删除处理。

作者: 小小编

为您推荐

宝塔linux面板安装软件错误:宝塔面板检测到系统目录不可写。解决方法

宝塔linux面板安装软件错误:宝塔面板检测到系统目录不可写。解决方法

错误:宝塔面板检测到系统目录不可写。 1、安装了宝塔系统加固,请先关闭; 2、安装了云锁,请关闭系统加固功能; 3、安装...
宝塔linux面板node.js项目服务器重启丢失,pm2列表被删除清空解决方案

宝塔linux面板node.js项目服务器重启丢失,pm2列表被删除清空解决方案

宝塔linux面板node.js项目服务器重启丢失,pm2列表被删除清空解决方案 近期由于服务器异常重启,发现node....
宝塔linux面板 apache网站访问报错503 Service Unavailable解决

宝塔linux面板 apache网站访问报错503 Service Unavailable解决

宝塔linux面板 apache网站访问报错: 503 Service Unavailable Service Unav...
宝塔windows面板apache开启Gzip压缩方法

宝塔windows面板apache开启Gzip压缩方法

感谢网友安好反馈问题,经检查少写一个模块导致开启后apache无法启动 2018/05/18更正 第1步 apache配...
宝塔linux面板php5.6安装扩展bz2重启php服务报/lib64/libc.so.6: version `GLIBC_2.14′ not found解决方法

宝塔linux面板php5.6安装扩展bz2重启php服务报/lib64/libc.so.6: version `GLIBC_2.14′ not found解决方法

系统:centos6.x 环境:宝塔linux面板5.x php:5.6 查看php扩展已经安装bz2,但重启php服务...

发表回复

返回顶部