MySQL 小技巧:利用 xtrabackup 完全备份,增量备份及还原

案例:利用 xtrabackup 8.0 完全备份,增量备份及还原 MySQL8.0

在面对海量数据时,我们无法做到每天全量备份,因此 只能每周做一次全量备份。

而每天的话则进行增量备份,确保数据安全。

注意点:MySQL 8.0.26 版本对应需要安装 8.0.26 版本的 xtrabackup 软件包

Index of /pub/percona/percona/yum/release/8/RPMS/x86_64/

0) 前置条件 ( 源主机与目标主机都安装好 MySQL 服务 )
[root@centos8 ~] yum install mysql-server -y
[root@centos8 ~] systemctl enable --now mysqld----
1) 备份过程
1.1) 先做"完全备份"
[root@centos8 ~] yum install percona-xtrabackup-80-8.0.26-18.1.el8.x86_64.rpm -y
[root@centos8 ~] mkdir /backup/
[root@centos8 ~] xtrabackup -uroot -pP@ssw0rd123456 --backup --target-dir=/backup/base --no-server-version-check # 完全备份# 验证备份目录
[root@centos8 ~] ll /backup1.2) 第一天: 修改数据
insert teachers values(20,'wang',18,'M');
insert teachers values(21,'mage',18,'M');1.3) 第一次"增量备份"
# 基于 完全备份 做增量备份
# 基于 /backup/base 做增量备份, 备份在 /backup/inc1 目录
[root@centos8 ~] xtrabackup -uroot -pP@ssw0rd123456 --backup --target-dir=/backup/inc1 --incremental-basedir=/backup/base --no-server-version-check    # 增量备份# 验证备份目录
[root@centos8 ~] ll /backup1.4) 第二天: 修改数据
insert teachers values(25,'wangj',18,'M');
insert teachers values(26,'wangjun',18,'M');1.5) 第二次"增量备份"
# 基于 第一次增量备份 继续做增量备份
# 基于 /backup/inc1 做增量备份, 备份在 /backup/inc2 目录
[root@centos8 ~] xtrabackup -uroot -pP@ssw0rd123456 --backup --target-dir=/backup/inc2 --incremental-basedir=/backup/inc1 --no-server-version-check # 增量备份# 验证备份目录
[root@centos8 ~]# ll /backup
total 12
drwxr-x---. 6 root root 4096 Feb  4 10:48 base        # 全量备份数据库
drwxr-x---. 6 root root 4096 Feb  4 10:50 inc1        # 第一次增量备份
drwxr-x---. 6 root root 4096 Feb  4 10:50 inc2        # 第二次增量备份1.6) 复制所有备份数据到目标主机 ( 目标主机需要存在 /backup 目录 )
[root@centos8 ~] scp -r /backup/* 目标主机:/backup/
[root@centos8 ~] scp -r /backup/* 192.168.80.150:/backup/
# 备份过程会生成三个备份目录/backup/{base,inc1,inc2}----
2) 还原过程
2.1) "预准备"完全备份 ( 此选项 --apply-log-only 阻止回滚未完成的事务 )
[root@centos8 ~] yum install percona-xtrabackup-80-8.0.26-18.1.el8.x86_64.rpm -y# 预处理完全备份数据
[root@centos8 ~] xtrabackup --prepare --apply-log-only --target-dir=/backup/base2.2) 合并第 1 次增量备份到完全备份
[root@centos8 ~] xtrabackup --prepare --apply-log-only --target-dir=/backup/base --incremental-dir=/backup/inc12.3) 合并第 2 次增量备份到完全备份
// 最后一次还原不需要加选项 --apply-log-only
[root@centos8 ~] xtrabackup --prepare --target-dir=/backup/base --incremental-dir=/backup/inc22.4) 复制备份数据到数据库目录
# 注意: 数据库目录必须为空, MySQL 服务不能启动
[root@centos8 ~] systemctl stop mysqld      # MySQL 服务不能启动
[root@centos8 ~] rm -rf /var/lib/mysql/*    # 数据库目录必须为空
[root@centos8 ~] xtrabackup --copy-back --target-dir=/backup/base    # 复制备份数据到数据库目录2.5) 还原属性
[root@centos8 ~] chown -R mysql:mysql /var/lib/mysql2.6) 启动服务
[root@centos8 ~] systemctl enable --now mysqld2.7) 验证数据
[root@centos8 ~] mysql
mysql> select * from teachers;
+-----+---------------+-----+--------+
| TID | Name          | Age | Gender |
+-----+---------------+-----+--------+
|   1 | Song Jiang    |  45 | M      |
|   2 | Zhang Sanfeng |  94 | M      |
|   3 | Miejue Shitai |  77 | F      |
|   4 | Lin Chaoying  |  93 | F      |
|  20 | wang          |  18 | M      |
|  21 | mage          |  18 | M      |
|  25 | wangj         |  18 | M      |
|  26 | wangjun       |  18 | M      |
+-----+---------------+-----+--------+
8 rows in set (0.00 sec)

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/671364.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【开源】SpringBoot框架开发城市桥梁道路管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块三、系统展示四、核心代码4.1 查询城市桥梁4.2 新增城市桥梁4.3 编辑城市桥梁4.4 删除城市桥梁4.5 查询单个城市桥梁 五、免责说明 一、摘要 1.1 项目介绍 基于VueSpringBootMySQL的城市桥梁道路管理系统,支持…

第3节、电机定速转动【51单片机+L298N步进电机系列教程】

↑↑↑点击上方【目录】,查看本系列全部文章 摘要:本节介绍用定时器定时的方式,精准控制脉冲时间,从而控制步进电机速度。 一、计算过程 电机每一步的角速度等于走这一步所花费的时间,走一步角度等于步距角&#xff…

蓝桥杯嵌入式学习记录——LCD的使用

目录 一、前言 二、LCD代码的移植 三、LCD代码的调用 一、前言 前一篇文章已经简单记录了一下cubeMX软件的使用和LED的点亮,今天来记录一下LCD的使用。LCD的驱动代码有很多,但实际上在蓝桥杯的比赛中用起来非常简单,因为赛点会提供LCD的驱…

问题:媒体查询语法中, 可用设备名参数表示“文档打印或预览“的是 #媒体#媒体#其他

问题:媒体查询语法中, 可用设备名参数表示"文档打印或预览"的是 A、C.?screen B.?projection C、A.?print D.?speech 参考答案如图所示

探索设计模式的魅力:设计之美-揭秘设计模式、原则与UML的魔法

设计模式专栏:http://t.csdnimg.cn/U54zu 目录 一、引言 二、设计模式与设计原则 设计模式 设计原则 三、面向对象设计原则 四、UML(统一建模语言) 4.1 UML是什么 UML是一种语言 UML是一种建模语言 UML是一种图形化语言 4.2 UML有什么 4.…

2.6 假期作业

分布编译 -ESc iso 1.预处理:头文件展开,宏替换,删除注释,不会查找语法错误 例:gcc -E 1.c -o 1.i 2.编译:生成汇编文件,会查找语法错误 例:gcc -S 1.i -o 1.s 3.汇编:生成二…

64位Office API声明语句第115讲

跟我学VBA,我这里专注VBA, 授人以渔。我98年开始,从源码接触VBA已经20余年了,随着年龄的增长,越来越觉得有必要把这项技能传递给需要这项技术的职场人员。希望职场和数据打交道的朋友,都来学习VBA,利用VBA,起码可以提高…

黑马程序员-瑞吉外卖-day7

目录 1.做新建菜品里面的上传图片 1.1设置存储路径(先是我们自己存到我们的本地) 2.在controller目录下写代码 3.在过滤器放开这个路径的访问 4.访问localhost:8080/backend/page/demo/upload.html 1.做新建菜品里面的上传图片 1.1设置存储路径&…

系留无人机的发展与应用场景分析,系留旋翼无人机技术难点分析

传统无人机的局限 随着无人机民用市场的扩大,无人机的功能愈加多样化,被广泛应用于搜救、公共安全、农林、摄像娱乐等多领域。民用市场的扩大使传统无人机面临很多技术难题,诸如定位、通讯、交互技术等等,其中最主要的是续航问题…

LeetCode-第876题-链表的中间结点

1.题目描述 给你单链表的头结点 head ,请你找出并返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。 2.样例描述 3.思路描述 创建两个快慢指针 slow , fast ,起始共同指向头节点,slow 每次走一步,fas…

编译原理与技术(三)——语法分析(五)自底向上-LR分析

一、自顶向下的LL(1)与自底向上的LR (一)LL(1)非递归预测分析器及分析表 (二)LR分析器及分析表 二、LR分析 举个例子。 从上面不难看出,LR分析也是由分析表驱动的。那么关键在于构造LR分析表。

《动手学深度学习(PyTorch版)》笔记6.1

注:书中对代码的讲解并不详细,本文对很多细节做了详细注释。另外,书上的源代码是在Jupyter Notebook上运行的,较为分散,本文将代码集中起来,并加以完善,全部用vscode在python 3.9.18下测试通过&…

力扣 第 383 场周赛 解题报告 | 珂学家 | Z函数/StringHash

前言 谁言别后终无悔 寒月清宵绮梦回 深知身在情长在 前尘不共彩云飞 整体评价 T3是道模拟题,但是感觉题意有些晦涩,T4一眼Z函数,当然StringHash更通用些。 新年快乐, _. T1. 将单词恢复初始状态所需的最短时间 I 思路: 模拟 就是前缀和为…

C++ 哈希+unordered_map+unordered_set+位图+布隆过滤器(深度剖析)

文章目录 1. 前言2. unordered 系列关联式容器2.1 unordered_map2.1.1 unordered_map 的概念2.1.2 unordered_map 的使用 2.2 unordered_set2.2.1 unordered_set 的概念2.2.2 unordered_set 的使用 3. 底层结构3.1 哈希的概念3.2 哈希冲突3.3 哈希函数3.4 哈希冲突的解决3.4.1 …

芯片级原子钟,国产原子钟,芯片原子钟、国产芯片级微型原子钟介绍

原子钟已经为天文、航海、宇宙航行等领域提供了强有力的保障。但是,目前这些器件体积庞大,重量也很大,达几百千克。要成为平常人可使用的实用功能,原子钟的尺寸需要大幅缩小,而精度和速度需要被保留。 文章介绍的此类…

linux设置固定ip

进入目录 cd /etc/sysconfig/network-scripts 找到对应的配置文件,一般是ifcfg-ens开头的 vim ifcfg-ens192 BOOTPROTOstatic 网络类型配置,static代表静态ip IPADDR就是你要设置的ip

并发容器【ConcurentHashMap、CopyOnWriteArrayList、阻塞队列、ArrayBlockingQueue】

并发容器 什么是并发容器?同步容器:并发容器: ConcurrentHashMap结构图JDK1.7结构图JDK1.8结构图 CopyOnWriteArrayList实现原理 并发队列阻塞队列ArrayBlockingQueue 转自极客时间 什么是并发容器? 在JUC包中,有一大部分是关于并发容器的,如Concurr…

ref用法

目录 React中提供两种方法创建ref对象: 类组件获取 Ref 三种方式 ① Ref属性是一个字符串。 ② Ref 属性是一个函数。 ③ Ref属性是一个ref对象。 高级用法1:forwardRef 转发 Ref 高级用法2:ref实现组件通信 【ref作用】:最…

年假作业day2

1.打印字母图形 #include<stdio.h> #include<string.h> int main(int argc, const char *argv[]) { int i,j; char k; for(i1;i<7;i) { for(j1;j<i;j) { printf("%c",_); } for(j0,…

2.6学习总结

2.6 1.蓝桥公园 2.路径 3.打印路径 4.【模板】Floyd Floyd算法&#xff1a; 是一种多源的最短路径算法&#xff0c;经过一次计算可以得到任意两个点之间的最短路径。 这种算法是基于动态规划的思想&#xff1a; m[i][j]表示从i到j这条边的距离&#xff0c;dp[k][i][j]表示从…