当前位置: 首页 > news >正文

mysql全量与增量备份

binlog日志: 从上一次全量备份到下一次全量备份直接产生的数据。

一、全备和增量备份介绍

1、全量备份:

备份所有数据库或只备份一个数据库,全量备份之后,全量备份之前的binlog日志就没用了,一般生产环境会保留3-7天的binlog日志

2、增量备份:

从上一次全量备份之后,再次产生的新的数据。对于mysql来说,binlog日志就是mysql的增量备份数据
增量备份条件:
(1) 开启 log-bin=mysql-bin
(2) 先执行mysql全备,全量备份的时候刷新binlog日志,保证生成新的binlog日志,这个新的binlog日志就是增量备份。 -F   [--flush-logs]

在这里插入图片描述
二、增量备份恢复必备条件

1、开启mysql log-bin 日志功能

[root@Oldboy ~]# grep log-bin /etc/my.cnf 
log-bin=mysql-bin

2、存在一份全量备份,加上全备之后的binlog增量备份

三、生产环境下模拟数据库增量备份与恢复
顺序:
开启binlog——全量备份——刷新binlog日志(增量备份)——恢复增量备份

1、数据库开启bin-log功能并重启mysql

[root@Oldboy ~]# cat /etc/my.cnf |grep log-bin
log-bin=mysql-bin
[root@Oldboy ~]# vi /etc/init.d/mysqld restart

2、创建数据库和表

[root@Oldboy ~]# mysql -uroot -p123456mysql> create database oldboy;mysql> use oldboy;mysql> CREATE TABLE `student` (   `id` int(4) NOT NULL AUTO_INCREMENT,   `name` char(20) NOT NULL,   PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;mysql> insert into student(id,name) values(1,'oldboy');mysql> select * from student;
+----+--------+
| id | name      |
+----+--------+
|  1 | oldboy    |
+----+--------+

3、mysqldump全量备份并刷新binlog日志

#某男孩(如果不做主从的话 --master-data可以不用加)
[root@Oldboy ~]# mysqldump  -uroot  -p'123456' --default-character-set=utf8  -A -B  -F  -x  --events --master-data=2   |gzip >/server/backup/$(date +%F)_all.sql.gz#网上查的
[root@Oldboy ~]# mysqldump -uroot -p'rocenmysql!niubi' --quick --events --all-databases  -B --flush-logs --delete-master-logs --single-transaction |gzip >/Data/mysql/$(date +%F)_all.sql.gz-A : --all-databases 备份所有数据库
-B :  还原的时候不用创建数据库了
-F  :  --flush-logs

4、在数据库oldboy中增加两条数据

[root@Oldboy ~]# mysql -uroot -p123456mysql> use oldboy;mysql> insert into student(id,name) values(100,'oldboy100');
Query OK, 1 row affected (0.01 sec)mysql> insert into student(id,name) values(101,'oldboy101');
Query OK, 1 row affected (0.01 sec)mysql> select * from student;
+-----+-----------+
| id  | name      |
+-----+-----------+
|   1 | oldboy    |
| 100 | oldboy100 |
| 101 | oldboy101 |
+-----+-----------+

5、由于某领导脑残,执行了drop database oldboy

[root@Oldboy ~]# mysql -uroot -p123456
mysql> drop database oldboy;
Query OK, 1 row affected (0.06 sec)

6、恢复之前删除的数据(最好让数据库停止写入)

(0) 拒绝任何人访问mysql
[root@Oldboy backup]# iptables -A INPUT -p tcp  --dport 3306 -j DROP (1) 查看全量备份之后产生的新的binlog日志
[root@Oldboy ~]# cd /server/backup/
[root@Oldboy backup]#  gzip -d 2016-05-24_all.sql.gz
通过vim,找到这一行 "CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000005', MASTER_LOG_POS=107;"
mysql-bin.000005:是全量备份之后产生的增量备份日志(2) 查看当前binlog
[root@Oldboy data]# ll mysql-bin.*
-rw-rw---- 1 mysql mysql     150 5月  24 03:38 mysql-bin.000001
-rw-rw---- 1 mysql mysql     663 5月  24 04:11 mysql-bin.000002
-rw-rw---- 1 mysql mysql     150 5月  24 04:13 mysql-bin.000003
-rw-rw---- 1 mysql mysql     599 5月  24 05:11 mysql-bin.000004
-rw-rw---- 1 mysql mysql     578 5月  24 05:14 mysql-bin.000005
-rw-rw---- 1 mysql mysql     114 5月  24 05:14 mysql-bin.index(3) 刷新当前binlog
[root@Oldboy ~]# mysql -uroot -p123456 -e "flush logs;"(4) 再次查看,确定恢复的目标范围是mysql-bin.000005
[root@Oldboy data]# ll mysql-bin.*
-rw-rw---- 1 mysql mysql     150 5月  24 03:38 mysql-bin.000001
-rw-rw---- 1 mysql mysql     663 5月  24 04:11 mysql-bin.000002
-rw-rw---- 1 mysql mysql     150 5月  24 04:13 mysql-bin.000003
-rw-rw---- 1 mysql mysql     599 5月  24 05:11 mysql-bin.000004
-rw-rw---- 1 mysql mysql     578 5月  24 05:14 mysql-bin.000005
-rw-rw---- 1 mysql mysql     324 5月  24 05:24 mysql-bin.000006
-rw-rw---- 1 mysql mysql     133 5月  24 05:24 mysql-bin.index(5) 将mysql-bin.000005   复制到 /server/backup
[root@Oldboy data]# cp -a mysql-bin.000005    /server/backup/(6) 利用 mysqlbinlog  将 mysql-bin.000005   导出为  .sql文件
[root@Oldboy backup]# mysqlbinlog mysql-bin.000005 > mysql-bin_000005.sql(7) 进入 binlog中删除  drop database  oldboy
[root@Oldboy backup]# cat mysql-bin_000005.sql 
/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
SET @@session.character_set_client=33,@@session.collation_connection=33,@@session.collation_server=8/*!*/;
SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
drop database oldboy
/*!*/;
# at 192
#160524  5:15:19 server id 1  end_log_pos 281   Query   thread_id=11exec_time=0      error_code=0
SET TIMESTAMP=1464038119/*!*/;
create database oldgirl              删除这行,并保存
/*!*/;
# at 281
#160524  5:24:30 server id 1  end_log_pos 324   Rotate to mysql-bin.000007  pos: 4
DELIMITER ;(8) 恢复最近一次的全量备份
[root@Oldboy ~]# cd /server/backup/
[root@Oldboy backup]# mysql -uroot -p123456 < 2016-05-24_all.sql(9) 恢复增量备份(将全备之后的增量备份到出问题之间的binlog全部恢复,有几个恢复几个)
[root@Oldboy backup]# mysql -uroot -p123456 < mysql-bin_000005.sql (10) 也可以按时间恢复,vim进入binlog.sql中,只保留某个时间段的数据即可
主从情况下,只恢复主就可以了,从会自动同步主的binlog的

相关文章:

mysql全量与增量备份

binlog日志&#xff1a; 从上一次全量备份到下一次全量备份直接产生的数据。 一、全备和增量备份介绍 1、全量备份&#xff1a; 备份所有数据库或只备份一个数据库&#xff0c;全量备份之后&#xff0c;全量备份之前的binlog日志就没用了&#xff0c;一般生产环境会保留3-7天…...

“非法”操控lambda(python)

能过python解释器关卡即是合法脚本代码&#xff0c;偶尔的“违规”操控也是一种唯美。 (笔记模板由python脚本于2024年11月13日 11:18:21创建&#xff0c;本篇笔记适合熟悉python的lambda操控的coder翻阅) 【学习的细节是欢悦的历程】 Python 官网&#xff1a;https://www.pyth…...

UDP协议和TCP协议之间有什么具体区别?

UDP&#xff08;User Datagram Protocol&#xff09;和TCP&#xff08;Transmission Control Protocol&#xff09;是两种常见的网络传输协议&#xff0c;它们在数据传输中有着显著的区别和适用场景。理解它们的区别对于网络工程师、软件开发人员以及网络安全专家都是至关重要的…...

论文5—《基于改进YOLOv5s的轻量化金银花识别方法》文献阅读分析报告

论文报告&#xff1a;基于改进YOLOv5s的轻量化金银花识别方法 论文报告文档 基于改进YOLOv5s的轻量化金银花识别方法 论文报告文档摘要国内外研究现状国内研究现状国外研究现状 研究目的研究问题使用的研究方法试验研究结果文献结论创新点和对现有研究的贡献1. 目标检测技术2. …...

快手直播间采集教程,快手引流,快手截流,截流工具,直播间截流,快手直播间采集,获客系统,获客软件

功能&#xff1a; 1.输入快手直播间链接可一键监控直播间 2.可采集新进直播间的人 3.可采集直播间所有动作&#xff0c;包含&#xff1a;发弹幕的人和内容、送礼物的人和送的礼物、点亮爱心的人 4.可一键导出新进直播间的快手ID 5.可一键导出直播间动作列表&#xff0c;也可以筛…...

探索MoviePy:Python视频编辑的瑞士军刀

文章目录 &#x1f3ac; 探索MoviePy&#xff1a;Python视频编辑的瑞士军刀第一部分&#xff1a;背景介绍第二部分&#xff1a;MoviePy是什么&#xff1f;第三部分&#xff1a;如何安装MoviePy&#xff1f;第四部分&#xff1a;MoviePy的基本函数使用方法1. 视频剪辑2. 视频拼接…...

mysql 实现分库分表之 --- 基于 MyCAT 的分片策略详解

引言 在我们日常工作的项目中&#xff0c;特别是面向 C 端用户的产品&#xff0c;随着业务量的逐步扩大&#xff0c;数据量也呈指数级增长。为了应对日益增长的数据库压力&#xff0c;数据库优化已成为项目中不可或缺的一环&#xff0c;而分库分表则是海量数据优化方案中的重要…...

Opencascade基础教程(14): 一个模型显示问题

如果显示模型时出现如图情况&#xff0c;正对屏幕的平面特别亮&#xff0c;只需要设置材质为非金属就行。 //创建box并显示TopoDS_Shape aShape BRepPrimAPI_MakeBox(100, 100, 100);Handle(AIS_Shape) aisShpae new AIS_Shape(aShape);aisShpae->SetDisplayMode(AIS_Shad…...

ISP——你可以从这里起步(二)

接上一篇&#xff0c;上一篇是原理篇&#xff0c;这一篇是实战篇&#xff0c;为了实现下面框图中的不完美ISP。 第一章 做一张RAW图自己用 不是所有的人都能获得raw图&#xff0c;即使获得了raw图也需要对应的sensor参数才能把它用起来&#xff0c;所以我找了一条野路子可以把…...

Qt / Qt Quick程序打包的一些坑 (四)

【写在前面】 打包方法见 Qt / Qt Quick程序打包的方法。 这里是再次记录一些坑。 【正文开始】 直接进入正题&#xff1a; 在 Qt5 中&#xff0c;如果我们的 Qml 中使用了【Qt Shapes】模块&#xff0c;那么在打包的时候&#xff0c;会缺少Qt5QuickShapes.dll。 然后&#xff…...

《传统视觉算法在视觉算法中的地位及应用场景

一、引言 在计算机视觉领域的发展历程中&#xff0c;传统视觉算法扮演了至关重要的角色。尽管近年来深度学习算法在视觉任务中取得了巨大的成功&#xff0c;但传统视觉算法依然具有不可替代的地位。传统视觉算法通常基于数学模型和手工设计的特征&#xff0c;具有计算效率高、…...

老老实实干一辈子程序员是没出息的!这本证书你早该学!

一、程序员有没有必要学软考&#xff1f; 当然有&#xff0c;因为你不可能一辈子都是程序员。 你了解或者接触过30岁、35岁以上的程序员去向吗&#xff1f; 我毕业快十年了&#xff0c;当初正赶上互联网时代的浪潮&#xff0c;好几个学计算机的同学毕业后去了一线城市或者深…...

鸿蒙next版开发:相机开发-录像(ArkTS)

在HarmonyOS 5.0中&#xff0c;ArkTS提供了一套完整的API来管理相机功能&#xff0c;特别是录像功能。本文将详细介绍如何在ArkTS中实现录像功能&#xff0c;并提供代码示例进行详细解读。 录像功能开发步骤 1. 导入相关接口 首先&#xff0c;需要导入相机相关的接口&#x…...

闯关leetcode——3206. Alternating Groups I

大纲 题目地址内容 解题代码地址 题目 地址 https://leetcode.com/problems/alternating-groups-i/description/ 内容 There is a circle of red and blue tiles. You are given an array of integers colors. The color of tile i is represented by colors[i]: colors[i…...

多个摄像机画面融合:找到同一个目标在多个画面中的伪三维坐标,找出这几个摄像头间的转换矩阵

搞算法&#xff0c;重要的是解决问题的思想&#xff0c;不要再局限于语言、框架、性能&#xff01;&#xff01;&#xff01; 要解决的问题是&#xff1a;在某一个摄像头画面中&#xff0c;目标会被遮挡或者丢失&#xff0c;但在另外一个摄像机画面中&#xff0c;目标完整&…...

Three.js性能优化和实践建议

Three.js 是一个功能强大的 3D 引擎&#xff0c;当场景足够大的时候&#xff0c;就会出现卡顿的现象&#xff0c;首先要保证电脑的性能够用&#xff0c;然后看看下面方法&#xff0c;帮助你提高应用的运行效率。 1. 使用 stats.js 监视性能 在进行任何优化之前&#xff0c;首…...

C#入门 023 什么是类(Class)

什么是“类” 是一种数据结构 是一种数据类型 代表现实世界中的“种类” 构造器和析构器 析构器 析构器&#xff08;Destructor&#xff09;是一种特殊的成员方法&#xff0c;用于在对象被垃圾回收器&#xff08;Garbage Collector, GC&#xff09;回收之前执行清理操作。…...

一篇Spring Boot 笔记

一、Spring Boot 简介 Spring Boot 是一个用于创建独立的、基于 Spring 的生产级应用程序的框架。它简化了 Spring 应用的初始搭建和开发过程&#xff0c;通过自动配置等功能&#xff0c;让开发者能够快速地构建应用&#xff0c;减少了大量的样板代码和复杂的配置。 二、核心特…...

一生一芯 预学习阶段 NEMU代码学习(2)

接上回&#xff1a;一生一芯 预学习阶段 NEMU代码学习&#xff08;1&#xff09; 上次说到这里 static int cmd_c(char *args) {cpu_exec(-1);return 0; } 当输入c时&#xff0c;会执行&#xff1a;cpu_exec(-1); void cpu_exec(uint64_t n) {g_print_step (n < MAX_IN…...

《手写Spring渐进式源码实践》实践笔记(第二十章 实现简单ORM框架)

文章目录 第二十章 简单ORM框架实现背景技术背景基本概念工作原理优点缺点常见的ORM框架 业务背景 目标设计实现代码结构类图实现步骤 测试事先准备属性配置文件测试用例(selectOne)测试结果测试用例(selectList)测试结果 总结 第二十章 简单ORM框架实现 背景 技术背景 ORM&…...

7.4.分块查找

一.分块查找的算法思想&#xff1a; 1.实例&#xff1a; 以上述图片的顺序表为例&#xff0c; 该顺序表的数据元素从整体来看是乱序的&#xff0c;但如果把这些数据元素分成一块一块的小区间&#xff0c; 第一个区间[0,1]索引上的数据元素都是小于等于10的&#xff0c; 第二…...

新能源汽车智慧充电桩管理方案:新能源充电桩散热问题及消防安全监管方案

随着新能源汽车的快速普及&#xff0c;充电桩作为核心配套设施&#xff0c;其安全性与可靠性备受关注。然而&#xff0c;在高温、高负荷运行环境下&#xff0c;充电桩的散热问题与消防安全隐患日益凸显&#xff0c;成为制约行业发展的关键瓶颈。 如何通过智慧化管理手段优化散…...

【配置 YOLOX 用于按目录分类的图片数据集】

现在的图标点选越来越多&#xff0c;如何一步解决&#xff0c;采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集&#xff08;每个目录代表一个类别&#xff0c;目录下是该类别的所有图片&#xff09;&#xff0c;你需要进行以下配置步骤&#x…...

微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据

微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据 Power Query 具有大量专门帮助您清理和准备数据以供分析的功能。 您将了解如何简化复杂模型、更改数据类型、重命名对象和透视数据。 您还将了解如何分析列&#xff0c;以便知晓哪些列包含有价值的数据&#xff0c;…...

10-Oracle 23 ai Vector Search 概述和参数

一、Oracle AI Vector Search 概述 企业和个人都在尝试各种AI&#xff0c;使用客户端或是内部自己搭建集成大模型的终端&#xff0c;加速与大型语言模型&#xff08;LLM&#xff09;的结合&#xff0c;同时使用检索增强生成&#xff08;Retrieval Augmented Generation &#…...

安卓基础(aar)

重新设置java21的环境&#xff0c;临时设置 $env:JAVA_HOME "D:\Android Studio\jbr" 查看当前环境变量 JAVA_HOME 的值 echo $env:JAVA_HOME 构建ARR文件 ./gradlew :private-lib:assembleRelease 目录是这样的&#xff1a; MyApp/ ├── app/ …...

【Android】Android 开发 ADB 常用指令

查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...

逻辑回归暴力训练预测金融欺诈

简述 「使用逻辑回归暴力预测金融欺诈&#xff0c;并不断增加特征维度持续测试」的做法&#xff0c;体现了一种逐步建模与迭代验证的实验思路&#xff0c;在金融欺诈检测中非常有价值&#xff0c;本文作为一篇回顾性记录了早年间公司给某行做反欺诈预测用到的技术和思路。百度…...

LabVIEW双光子成像系统技术

双光子成像技术的核心特性 双光子成像通过双低能量光子协同激发机制&#xff0c;展现出显著的技术优势&#xff1a; 深层组织穿透能力&#xff1a;适用于活体组织深度成像 高分辨率观测性能&#xff1a;满足微观结构的精细研究需求 低光毒性特点&#xff1a;减少对样本的损伤…...

什么是VR全景技术

VR全景技术&#xff0c;全称为虚拟现实全景技术&#xff0c;是通过计算机图像模拟生成三维空间中的虚拟世界&#xff0c;使用户能够在该虚拟世界中进行全方位、无死角的观察和交互的技术。VR全景技术模拟人在真实空间中的视觉体验&#xff0c;结合图文、3D、音视频等多媒体元素…...