MySQL增量备份

增备1

做增量备份前,是需要进行一次完成备份的

1、做数据修改

创建一个add1.t1

t1 包含:id,name

加2条数据

id | name |
+----+------+
| 1  | add1 |
| 2  | add2 |
+----+------+

操作如下:

MySQL root@(none):(none)> show databases;
+--------------------+
| Database           |
+--------------------+
| db711              |
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+5 rows in set
Time: 0.022s
MySQL root@(none):(none)> create database add1;
Query OK, 1 row affected
Time: 0.006sMySQL root@(none):(none)> use add1;
You are now connected to database "add1" as user "root"
Time: 0.000s
MySQL root@(none):add1> create table t1 (id int,name varchar(10));
Query OK, 0 rows affected
Time: 0.024s
MySQL root@(none):add1> desc t1;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int         | YES  |     | <null>  |       |
| name  | varchar(10) | YES  |     | <null>  |       |
+-------+-------------+------+-----+---------+-------+2 rows in set
Time: 0.017s
MySQL root@(none):add1> insert into t1 values (1,'add1'),(2,'add2');
Query OK, 2 rows affected
Time: 0.026s
MySQL root@(none):add1> select * from t1;
+----+------+
| id | name |
+----+------+
| 1  | add1 |
| 2  | add2 |
+----+------+2 rows in set
Time: 0.012sMySQL root@(none):add1> show databases;
+--------------------+
| Database           |
+--------------------+
| add1               |
| db711              |
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+

2、开始增量备份

xtrabackup --defaults-file=/etc/my.cnf --backup --target-dir=/data/backup/inc1/  --incremental-basedir=/data/backup/base/ -u root -pLixinyi@123 -H localhost -P 3306 --no-server-version-check

注释:

--defaults-file 		默认文件
--backup        		备份
--target-dir    		备份存放的目录,要单独存放 此时为/data/backup/inc1/注意此时就不要放在完全备份的文件夹(data/backup/base)中如果还放在这里,无法进行区分,会产生冲突
incremental-basedir  	增量备份参照的文件(参照谁进行增量)

显示如下,表示增量备份完成:
请添加图片描述

增备2:

1、进行数据修改,

在上面用到过的表add1.t1,添加数据

id 3, name “增量2”

id 4 , name “增量2”

MySQL root@(none):(none)> use add1;
You are now connected to database "add1" as user "root"
Time: 0.001s
MySQL root@(none):add1> select * from t1;
+----+------+
| id | name |
+----+------+
| 1  | add1 |
| 2  | add2 |
+----+------+2 rows in set
Time: 0.012s
MySQL root@(none):add1> insert into t1 values (3,'增量2'),(4,'增量2');
Query OK, 2 rows affected
Time: 0.004s
MySQL root@(none):add1> select * from t1;
+----+-------+
| id | name  |
+----+-------+
| 1  | add1  |
| 2  | add2  |
| 3  | 增量2 |
| 4  | 增量2 |
+----+-------+

2、开始增量备份

xtrabackup --defaults-file=/etc/my.cnf --backup --target-dir=/data/backup/inc2/  --incremental-basedir=/data/backup/inc1/ -u root  -pLixinyi@123 -H localhost -P 3306 --no-server-version-check--target-dir=/data/backup/inc2/ 			用了存储第二次的增量备份文件
incremental-basedir=/data/backup/inc1/  	第二次要参照第一次进行备份(增量备份参照上一次)
恢复增量备份
  • 还原的时候,要先准备好完整备份

  • 然后再还原增量备份,这样数据才是完整的

注意最后一次把增量备份恢复到全部不要加 --apply-log-only

应用完整备份:

xtrabackup --defaults-file=/etc/my.cnf --prepare --apply-log-only --target-dir=/data/backup/base/ --no-server-version-check

应用增量1:

xtrabackup --defaults-file=/etc/my.cnf --prepare --apply-log-only --target-dir=/data/backup/base/ --incremental-dir=/data/backup/inc1/  --no-server-version-check

应用增量2:

注意不要偷懒

注意,这是最后一次的增量,就 不要输入–apply-log-only

xtrabackup --defaults-file=/etc/my.cnf --prepare --target-dir=/data/backup/base/ --incremental-dir=/data/backup/inc2 --no-server-version-check

这几步 --defaults-file=““ 选项可以不用加

恢复到数据目录

全库级恢复要先停止数据库并清空数据目录

如果不这样做,当前数据库内有某张表,又还原进同样的表,会产生冲突

 systemctl stop mysqldrm -rf /var/lib/mysql/*
 xtrabackup --defaults-file=/etc/my.cnf --copy-back --target-dir=/data/backup/base/
 chown -R mysql.mysql /var/lib/mysql
 systemctl start mysqld
 mycli -uroot -pLxinyi@123

查看数据的完整性:

成功!

[root@localhost ~]# mycli -uroot -pLixinyi@123
Connecting to socket /var/lib/mysql/mysql.sock, owned by user mysql
MySQL
mycli 1.27.2
Home: http://mycli.net
Bug tracker: https://github.com/dbcli/mycli/issues
Thanks to the contributor - Jerome Provensal
MySQL root@(none):(none)> show  databases;
+--------------------+
| Database           |
+--------------------+
| add1               |
| db711              |
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+6 rows in set
Time: 0.020s
MySQL root@(none):(none)> use add1;
You are now connected to database "add1" as user "root"
Time: 0.000s
MySQL root@(none):add1> select * from t1;
+----+-------+
| id | name  |
+----+-------+
| 1  | add1  |
| 2  | add2  |
| 3  | 增量2 |
| 4  | 增量2 |
+----+-------+4 rows in set
Time: 0.029s

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

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

相关文章

Linux openEuler_24.03部署MySQL_8.4.0 LTS安装实测验证安装以及测试连接全过程实操手册

Linux openEuler_24.03部署MySQL_8.4.0 LTS安装实测验证安装以及测试连接全过程实操手册 前言: 什么是 MySQL? MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于Oracle 公司。MySQL 是一种关系型数据库管理系统,关系型数据库将数据保存在不同的表中,…

深入探讨SQL Server端口设置:理论与实践

引言 在现代企业级应用中&#xff0c;SQL Server作为微软的旗舰数据库产品&#xff0c;广泛应用于各种关键业务系统中。设置SQL Server的端口是数据库管理中的一个重要环节&#xff0c;它不仅影响到数据库的安全性&#xff0c;还直接关系到网络通信的效率和稳定性。本文将从计…

C++ 入门基础:开启编程之旅

文章目录 引言一、C的第⼀个程序二、命名空间1、namespace2、namespace的定义 三、C输入 与 输出四、缺省参数五、函数重载六、引用1、引用的概念和定义2、引用的特性3、指针和引用的关系七、inline八、nullptr 引言 C 是一种高效、灵活且功能强大的编程语言&#xff0c;广泛应…

C1W4.Assignment.Naive Machine Translation and LSH

理论课&#xff1a;C1W4.Machine Translation and Document Search 文章目录 1. The word embeddings data for English and French words1.1The dataThe subset of dataLoad two dictionaries 1.2 Generate embedding and transform matricesExercise 1: Translating English…

数学建模-Topsis(优劣解距离法)

介绍 TOPSIS法&#xff08;Technique for Order Preference by Similarity to Ideal Solution&#xff09; 可翻译为逼近理想解排序法&#xff0c;国内常简称为优劣解距离法 TOPSIS 法是一种常用的综合评价方法&#xff0c;其能充分利用原始数据的信息&#xff0c; 其结果能精…

张量分解(5)——Tucker分解

&#x1f345; 写在前面 &#x1f468;‍&#x1f393; 博主介绍&#xff1a;大家好&#xff0c;这里是hyk写算法了吗&#xff0c;一枚致力于学习算法和人工智能领域的小菜鸟。 &#x1f50e;个人主页&#xff1a;主页链接&#xff08;欢迎各位大佬光临指导&#xff09; ⭐️近…

如何防范场外个股期权的交易风险?

场外个股期权交易&#xff0c;作为金融衍生品市场的重要组成部分&#xff0c;为投资者提供了更为灵活和多样化的投资策略。然而&#xff0c;其高杠杆、高风险特性也使得投资者在追求高收益的同时&#xff0c;面临着较大的交易风险。为了有效防范这些风险&#xff0c;投资者需要…

基于STM32设计的智能门锁(微信小程序+手机APP等多种方式开锁)(188)

基于STM32设计的智能门锁(微信小程序+手机APP等多种方式开锁)(188) 文章目录 一、前言1.1 项目介绍【1】项目功能介绍【2】项目硬件模块组成1.2 设计思路【1】整体设计思路【2】整体构架【3】ESP8266模块配置【4】上位机开发思路【5】供电方式1.3 项目开发背景【1】选题的意义【…

Kafka Producer发送消息流程之Sender发送线程和在途请求缓存区

文章目录 1. Sender发送数据1. 发送数据的详细过程&#xff1a;2. 关键参数配置 2. 在途请求缓存区 1. Sender发送数据 Sender线程负责将已经在RecordAccumulator中准备好的消息批次发送到Kafka集群。虽然消息在RecordAccumulator中是按照分区组织的&#xff0c;但Sender线程在…

【VScode】安装【ESP-IDF】插件及相关工具链

一、ESP-IDF简介 二、VScode安装ESP-IDF插件 三、安装ESP-IDF、ESP-IDF-Tools以及相关工具链 四、测试例程&编译烧录 一、ESP-IDF简介 二、VScode安装ESP-IDF插件 【VScode】安装配置、插件及远程SSH连接 【VSCode】自定义配置 打开VScode&#xff0c;在插件管理搜索esp…

react + pro-components + ts完成单文件上传和批量上传

上传部分使用的是antd中的Upload组件,具体如下: GradingFilingReportUpload方法是后端已经做好文件流,前端只需要调用接口即可 单文件上传 <Uploadkey{upload_${record.id}}showUploadList{false}accept".xlsx"maxCount{1}customRequest{({ file }) > {const …

linux list

list_add list_add_tail

网络安全(含面试题版)

一、网络概念 网络&#xff1a;一组相互连接的计算机&#xff0c;多台计算机组成&#xff0c;使用物理线路进行连接 作用&#xff1a; 数据交换 资源共享 二、网络分类 计算机网络覆盖的地理区域决定了它的类型。一般分为局域网(LAN)、城域网(MAN)、广域网(WAN)。 三、www万维网…

06MFC之对话框--重绘元文件

文章目录 实现示例展示需要绘制的窗口/位置控件位置更新下一次示例粗细滑动部分更新重绘元文件(窗口变化内容消失)方法一:使用元文件方法二:兼容设备方法三:使用自定义类存储绘图数据除画笔外功能处理画笔功能处理保存前面画的线及色彩实现示例展示 需要绘制的窗口/位置 …

2、电脑各部件品牌介绍 - 计算机硬件品牌系列文章

笔者是一个电脑IT达人&#xff0c;对于电脑硬件挺感兴趣&#xff0c;今天有必要讲讲关于电脑各部件的品牌问题。关于电脑硬件介绍&#xff0c;见博文版块&#xff1a;计算机硬件系列 。下面对电脑的各部件品牌等进行介绍&#xff0c;便于大家选购电脑的时候做参考。 1、 CPU&am…

springboot人事管理系统论文--lw源码调试讲解

2 相关技术 2.1 VUE介绍 Vue (读音 /vjuː/&#xff0c;类似于 view) 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是&#xff0c;Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层&#xff0c;不仅易于上手&#xff0c;还便于与第三方库或既有项目…

R语言实现SVM算法——分类与回归

### 11.6 基于支持向量机进行类别预测 ### # 构建数据子集 X <- iris[iris$Species! virginica,2:3] # 自变量&#xff1a;Sepal.Width, Petal.Length y <- iris[iris$Species ! virginica,Species] # 因变量 plot(X,col y,pch as.numeric(y)15,cex 1.5) # 绘制散点图…

vue2导入elementui组件库

第一步安装 npm i element-ui -S 第二步在main.js中导入 第三步使用然后在运行项目

live555 rtsp服务器实战之doGetNextFrame

live555关于RTSP协议交互流程 live555的核心数据结构值之闭环双向链表 live555 rtsp服务器实战之createNewStreamSource live555 rtsp服务器实战之doGetNextFrame 注意&#xff1a;该篇文章可能有些绕&#xff0c;最好跟着文章追踪下源码&#xff0c;不了解源码可能就是天书…

自动化产线 搭配数据采集监控平台 创新与突破

自动化产线在现在的各行各业中应用广泛&#xff0c;已经是现在的生产趋势&#xff0c;不同的自动化生产设备充斥在各行各业中&#xff0c;自动化的设备会产生很多的数据&#xff0c;这些数据如何更科学化的管理&#xff0c;更优质的利用&#xff0c;就需要数据采集监控平台来完…